0

preg_replace を実行する必要がある次のようなコンテンツがあります。

Test Title|
test content

John's title - has a hyphen|
john's content

Last one... I promise|
last content

コンテンツで次の preg_replace 正規表現を使用して、「|」で終わるすべての行を取得しています。そしてタグで包みます。

preg_replace("/([a-zA-Z][a-zA-Z-'\,-\d\s\w]+\|)/", '<h3 id="${1}">${1}</h3>', $content);

私が抱えている問題は、正規表現がハイフンまたは省略記号を取得していないことです。私はこのコードを別の開発者から継承したので、破棄して最初からやり直したいと思っていますが、できれば機能させたいと思っていました。

4

3 に答える 3

0

ハイフンはエスケープされておらず、正規表現はピリオドをスキャンしていません。

/([a-zA-Z][a-zA-Z-'\,\.\-\d\s\w]+\|)/動作するはずです。

于 2013-04-01T18:41:52.730 に答える