私の問題のperg_replaceパターンを手伝ってくれませんか?preg_replaceからテキストを太字と斜体にしたいのですが、太字のテキストの単語を太字で囲み**bold**
、テキストの斜体を##italic##
。で囲みます。
例
$before = "Focus on the **user** and all else will ##follow##.";
$after = preg_replace($patterns, $replace, $before);
そして、私はこのような結果が欲しいです、そのパターンと置換パターンはあるべきですか?みんなありがとう。
$after = "Focus on the <b>user</b> and all else will <em>follow</em>.";
次のようなもので十分です。
function format_text($string) {
$string = preg_replace('/(\*\*(.*?)\*\*)/', '<b>\\2</b>', $string);
$string = preg_replace('/(##(.*?)##)/', '<em>\\2</em>', $string);
return $string;
}
(.*?)
いわゆる欲張りマッチは望まないので、疑問符に注意することが重要です。.*
は可能な限り多くのテキストに一致しようとしますが、一致を**または##内の「最小の」テキストに制限したいと思います。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加