2012-03-18 22 views
2

私はPHPには新しく、HTMLページを含むStringを持っています。私はいくつかのカスタムコードを挿入する必要があります。HR HTMLタグ。例:PHPは文字列の前後にテキストを挿入します

<html> 
    .... 
    <p>INSERT HERE</p> 
    <hr class="pagebreak"> 
    <p>INSERT HERE</p> 

    <p>INSERT HERE</p> 
    <hr class="pagebreak"> 
    <p>INSERT HERE</p> 
    .... 
    </html> 

私は、しかし、私はまだ私が必要とするすべての場所でカスタムコードを挿入するために管理することができませんでした、にpreg_replacesubstr_replaceのいくつかの組み合わせを試してみました。 誰もがこのパズルを解くのを助けることができますか? P.私はPHP標準のString関数を使用する必要があります - 私はサーバー上で利用可能なPHPライブラリを制御できないので、私はHTML解析ライブラリを使用できません。 ありがとうございます Linda

答えて

2

あなたが得る必要があるのは、少なくとも部分的にうまくいくように管理していれば、悪い表現をしている可能性があります。私はあなたのためにこのコードをテストし、それはすべてあなたの<hr>秒で動作するはずです:

$newtext=preg_replace("#(<hr[^>]*>)#s",$yourprefix."\${1}".$yoursuffix,$oldtext); 

変数oldtextはあなたが前に持っていたもので、新しいテキストは、あなたが望むものであり、接頭辞と接尾辞を使用すると、時間の周りに追加したいものですタグ

+0

非常にありがとうございます。あなたのソリューションとinhanは完全に働いています。申し訳ありません私のプロフィールを作成しましたので、あなたの返事にはあなたのスコアを追加することはできません:-( –

+0

少なくとも問題は解決しました。違いは気になりますが、 '


'大文字と小文字が区別されますので、 '
'のためには機能しません。変更したい場合は、最後に '#i'を入力してください。 – Kyborek

1
$before = '<p>Before the hr tag</p>'; 
$after = '<p>After the hr tag</p>'; 

$str = preg_replace('/(<hr(.*?)>)/i',$before.'$1'.$after,$str); 
+0

あなたの素晴らしい提案に感謝します。 –

+0

ようこそ。 – inhan

関連する問題