2012-03-19 12 views
0

私はを削除する必要があるファイルの多くを持っていますが、数字の束はいつも違うのですが、jQuery="(number is also always different)"の間のすべてを削除できますか?PHP - 動的に作成されたコンテンツを置き換える

ありがとうございます。

ファイルの一部のサンプル要求として: (あなたはそれが別のjQueryのものにそれを保存するたびに追加されます見ることができるように...それを除去するので、必要性)

<H2 editing="false" revert="Projects:" jQuery1332198888840="12" jQuery1332199361841="12" jQuery1332199407617="12">ProjectsTesting</H2> <UL class=list1 jQuery1332198888840="17" jQuery1332199361841="17" jQuery1332199407617="17"> <LI jQuery1332198888840="16" jQuery1332199361841="16" jQuery1332199407617="16"><A href="#" jQuery1332198888840="15" jQuery1332199361841="15" jQuery1332199407617="15">Praesent vestibulum molestie </A> <LI jQuery1332198888840="19" jQuery1332199361841="19" jQuery1332199407617="19"><A href="#" jQuery1332198888840="18" jQuery1332199361841="18" jQuery1332199407617="18">Aenean nonummy </A> <LI jQuery1332198888840="21" jQuery1332199361841="21" jQuery1332199407617="21"><A href="#" jQuery1332198888840="20" jQuery1332199361841="20" jQuery1332199407617="20">Hendrerit mauris phasellus </A> <LI jQuery1332198888840="23" jQuery1332199361841="23" jQuery1332199407617="23"><A href="#" jQuery1332198888840="22" jQuery1332199361841="22" jQuery1332199407617="22">Porta fusce suscipit varius </A> <LI jQuery1332198888840="25" jQuery1332199361841="25" jQuery1332199407617="25"><A href="#" jQuery1332198888840="24" jQuery1332199361841="24" jQuery1332199407617="24">Cum sociis natoque</A> <LI jQuery1332198888840="27" jQuery1332199361841="27" jQuery1332199407617="27"><A href="#" jQuery1332198888840="26" jQuery1332199361841="26" jQuery1332199407617="26">Penatibus et magnis dis</A>I <LI jQuery1332198888840="29" jQuery1332199361841="29" jQuery1332199407617="29"><A href="#" jQuery1332198888840="28" jQuery1332199361841="28" jQuery1332199407617="28">Parturient montes</A> </LI></UL></DIV>

+0

を私がするpreg_matchを考えたが、それで物事をrepalceする方法IDKのた:/と私は正規表現 – King

+0

で失敗するあなたはものは、ソース文書に実際にあることを確認していますか?ブラウザのレンダリングされたDOMだけでなく、 –

+0

それはソースドキュメント内にあります。(ファイルは単純に保存されたdivから来ます) – King

答えて

2

これは削除されますがどのような数字が存在しても、jQueryテキスト。また、jQueryタグが削除された後に残されるタグの最後の余分なスペースも取り除かれます。詳細については

$old = '<H2 editing="false" revert="Projects:" jQuery1332198888840="12" jQuery1332199361841="12" jQuery1332199407617="12">ProjectsTesting</H2> <UL class=list1 jQuery1332198888840="17" jQuery1332199361841="17" jQuery1332199407617="17"> <LI jQuery1332198888840="16" jQuery1332199361841="16" jQuery1332199407617="16"><A href="#" jQuery1332198888840="15" jQuery1332199361841="15" jQuery1332199407617="15">Praesent vestibulum molestie </A> <LI jQuery1332198888840="19" jQuery1332199361841="19" jQuery1332199407617="19"><A href="#" jQuery1332198888840="18" jQuery1332199361841="18" jQuery1332199407617="18">Aenean nonummy </A> <LI jQuery1332198888840="21" jQuery1332199361841="21" jQuery1332199407617="21"><A href="#" jQuery1332198888840="20" jQuery1332199361841="20" jQuery1332199407617="20">Hendrerit mauris phasellus </A> <LI jQuery1332198888840="23" jQuery1332199361841="23" jQuery1332199407617="23"><A href="#" jQuery1332198888840="22" jQuery1332199361841="22" jQuery1332199407617="22">Porta fusce suscipit varius </A> <LI jQuery1332198888840="25" jQuery1332199361841="25" jQuery1332199407617="25"><A href="#" jQuery1332198888840="24" jQuery1332199361841="24" jQuery1332199407617="24">Cum sociis natoque</A> <LI jQuery1332198888840="27" jQuery1332199361841="27" jQuery1332199407617="27"><A href="#" jQuery1332198888840="26" jQuery1332199361841="26" jQuery1332199407617="26">Penatibus et magnis dis</A>I <LI jQuery1332198888840="29" jQuery1332199361841="29" jQuery1332199407617="29"><A href="#" jQuery1332198888840="28" jQuery1332199361841="28" jQuery1332199407617="28">Parturient montes</A> </LI></UL></DIV>'; 

//This will erase all the jQuery strings. 
$new = preg_replace('/jQuery\d+="\d+"/', '', $old); 

//This will take out the extra spaces at the end of the tags that was left open. 
$new = preg_replace('/\s+>/', '>', $new); 

echo $new; 

は、以下を参照してください。http://php.net/manual/en/function.preg-replace.php

+0

dosentは何でも置き換えます – King

+0

あなたはそれをテストする際に間違いをしたかもしれません。私はコードをテストし、あなたのサンプル入力を使用して作業として検証しました。すべてのjQueryタグと余分なスペースは$ newから削除されます。 –

+0

ああ私の悪い私はstripslashesに持っていた:)今それは動作します:D:D tyvm – King

2

私は理解していればあなたは正しく、これは動作するはずです:

$myContent = preg_replace('/jQuery\d+="(\d+)"/g', 'jQuery="${1}"', $myContent); 

参照:http://php.net/manual/en/function.preg-replace.php

+0

このエラーが発生しました: エラー:警告:preg_match()[function.preg-match]:区切り文字は英数字またはバックスラッシュであってはなりません – King

+0

正規表現の先頭と末尾にスラッシュを追加します。 'preg_match'ではなく' preg_replace'を使用していることを確認してください。 – Josh

+0

修正するように編集しました。ありがとう。 – Diego

関連する問題