codaというmacのエディターにプラグインを入れて使いやすくしようと思っています。
<?php
$input = "";
$fp = fopen("php://stdin", "r");
while ( $line = fgets($fp, 1024) )
$input .= $line;
fclose($fp);
echo '<p>';
echo $input;
echo '</p>';
?>
上記のプログラムをエディターで文字を選択し実行するとテキストの選択された部分の最初と最後に<p>のタグを吐き出してくれます。
例 テキストテキスト
↓↓↓↓↓
<p>テキストテキスト</p>
これを元にして、下記のようなテキスト1行づつにタグを挟むようにするにはどのようにしたらいいでしょうか?
例
てきすとてきすと
てきすとてきすと
てきすとてきすと
を
<ul>
<li>てきすとてきすと</li>
<li>てきすとてきすと</li>
<li>てきすとてきすと</li>
</ul>
の様にしたいです。
どなたかこのようなプログラムを教えて頂ければと思います。
よろしくお願いいたします。なお当方プログラムは素人です。
codaというエディタを知らないので、はずしていたらすみません。
マクロみたいなものをPHPで記述できるという認識ですが、よかったでしょうか?
で、ご希望のプログラムはこんな感じでしょうか?
<?php define("SEP", "\n"); $fp = fopen("php://stdin", "r"); echo "<ul>" . SEP; while ( $line = fgets($fp, 1024) ) { echo "<li>{$line}</li>" . SEP; } echo "</ul>" . SEP; fclose($fp); ?>
改行に問題があるようであれば、先頭の部分を、
define("SEP", "\r\n");
とか、
define("SEP", "\r");
とかに変えて試してみてください。
何かの参考になれば。
codaというエディタを知らないので、はずしていたらすみません。
マクロみたいなものをPHPで記述できるという認識ですが、よかったでしょうか?
で、ご希望のプログラムはこんな感じでしょうか?
<?php define("SEP", "\n"); $fp = fopen("php://stdin", "r"); echo "<ul>" . SEP; while ( $line = fgets($fp, 1024) ) { echo "<li>{$line}</li>" . SEP; } echo "</ul>" . SEP; fclose($fp); ?>
改行に問題があるようであれば、先頭の部分を、
define("SEP", "\r\n");
とか、
define("SEP", "\r");
とかに変えて試してみてください。
何かの参考になれば。
回答ありがとうございました。早速試してみましたができませんでした。
http://www.youtube.com/watch?v=s_p_lLLnLaY
codaの違うプラグインの動画ありがましたので参考までに載せておきます。
上手く文字と行を認識してくれてないのでしょうか?
すみません。できました。プログラムあっていました。
改行コードを無視していて、そのままコピペしてしまい(当方Mac)
プログラムがうまく動いていませんでした。
どうもありがとうございました。
ご質問のプログラムを下記のように変更すれば対応可能です。
★印の行が変更箇所です。
<?php $input = ""; $fp = fopen("php://stdin", "r"); while ( $line = fgets($fp, 1024) ) $input .= ("<li>" . rtrim($line) . "</li>\n"); //★ fclose($fp); echo "<ul>\n"; //★ echo $input; echo "</ul>\n"; //★ ?>
すみません。できました。プログラムあっていました。
改行コードを無視していて、そのままコピペしてしまい(当方Mac)
プログラムがうまく動いていませんでした。
どうもありがとうございました。
Codaで確認できないのでなんですが、挙げてもらったかな変換プラグインのソースから判断すると、こんな感じで動くかもです。
<? define("SEP", "\n"); $lines = explode(SEP, $_ENV['CODA_SELECTED_TEXT']); echo "<ul>" . SEP; foreach ($lines as $line) { echo "<li>{$line}</li>" . SEP; } echo "</ul>" . SEP; ?>
ちなみに、プラグインの作り方自体には問題ないんですよね?
tdoiさん
引き続き回答いただきありがとうございます。大変感謝しております。
いろいろと試してみましたが、どうもうまく行きませんでした。
間違ったコードを記載するとエラーがでるので、プラグインの作り方は特に問題がないと思います。
質問に記載したプログラムを文字を選択ぜず、同じ行にカーソルが点滅している状態で実行すると
<pテキスト</p>とはきだしてくれます。
曖昧なかんじですみません。
ご存知かとは思いますが、プラグインの説明サイトのURLを記載しておきます。
http://www.panic.com/jp/coda/developer/howto/plugins.php
よろしくお願いいたします。
解決いたしました。本当にありがとうございました。
回答ありがとうございました。早速試してみましたができませんでした。
http://www.youtube.com/watch?v=s_p_lLLnLaY
codaの違うプラグインの動画ありがましたので参考までに載せておきます。
上手く文字と行を認識してくれてないのでしょうか?
すみません。できました。プログラムあっていました。
改行コードを無視していて、そのままコピペしてしまい(当方Mac)
プログラムがうまく動いていませんでした。
どうもありがとうございました。