私は、ユーザーがキャリッジリターンでテキストを入力するWordpressカスタムフィールドを見ています。wpautop
のおかげで<br/>
に変換されます。私は次に何をする必要がどのようなPHPとRegexを使ってWordpressページコンテンツの各行にマークアップを追加する
<?php echo wpautop(get_post_meta(get_the_ID(), 'customfield' , true)); ?>
個々の行にいくつかのスタイルを適用するためには、このようにして得られた各ラインに<span>
を追加することです。
私はpreg_replace
と正規表現をしようとしているが、これは動作しません:
<?php
$subject = wpautop(get_post_meta(get_the_ID(), 'text1' , true));
$result = preg_replace('/(.*<br>)*/m', '<span>$1</span>', $subject);
?>
<div><?php echo $result; ?></div>
...それは<span>
タグ内のすべての単一の文字をラップするので!
この問題は何ですか?'/((.*)<br>)*/m'
?
PHPでこれを行うより良い方法がありますか?get_post_meta
を傍受していますか?ここで
'$ subject'の内容は何ですか?あなたは何を得て、何を期待していますか?あなたのお手伝いをしたい場合は、質問を編集してこれらの情報を追加してください。 – Toto
'$ subject'の内容は明らかに' get_post_meta'によって返されます。これは上記で説明したように、「
に変換されるキャリッジリターンのテキスト」で構成されています。これ以上何もない。 – nico
デフォルトのカスタムフィールドを使用するACF(高度なカスタムフィールド)プラグインinstedを使用することをお勧めします。 –