0

次のデータを保持するjavascript変数(code2)を取得しました:

<div class="pages"><center><a class="selected" href="/Episodes-1234_power1" title="power album page 1" >1</a><a class="normal" href="/Episodes-1234_power2" title="power album page 2"> 2</a>

これを次のように変更します。

<div class="pages"><center><a class="selected" href="./doit.php?title=<?php echo $_GET['title'];?>&Num=/Episodes-1234_power1" title="power album page 1" >1</a><a class="normal" href="./doit.php?title=<?php echo $_GET['title'];?>&Num=/Episodes-1234_power2" title="power album page 2"> 2</a>

私はこの例のようにphpで同様のことをしました:

$code2=str_replace('href="', 'href="./doit.php?title='.$title.'&Num=', $code1);
echo $code2;

JavaScriptで同じことをしようとしましたが、次のコードが機能しません! 皆さん、私がそれを修正するのを手伝ってもらえますか? ありがとう

<script>
.....
.....
alert ('' + code2);

 //document.write(code2);
var myString = code2;
var myString2 = myString.replace(href=, 'href="./doit.php?title=<?php echo $_GET['title'];?>&Num=');

document.write (myString2);
</script>
4

2 に答える 2

0

基本的にPHPのメソッドと同じようにjavascriptreplaceメソッドを使用でき、正規表現のサポートを利用して、一般的な意味でhref値と照合できます。基本的にこのように:

var theSecondString = theFirstString.replace(/href=".+"/, theReplacementString);

を使用/href=".+"/すると、href'キー'と、それに続く二重引用符で囲まれたものがすべて検索され、それらすべてが置換文字列に置き換えられます。

これが実際の動作を示すjsfiddleです。

編集:代わりに、正規表現に/href="/gは元のhrefコンポーネントも含める必要がありました。同じ原則が一般的な意味で適用されますが、当然のことながら、ここに更新されたjsfiddleがあります

于 2012-12-08T04:00:00.750 に答える
-1

そのような文字列を実際の dom 要素にしてから、メソッドを使用してそこから操作するのが好きです。

var div = ​docu​ment.createElement('div');
div.innerHTML = code2

var a = div.querySelectorAll('a')[0];
a.href = "./doit.php?title=<?php echo $_GET['title'];?>&Num=";

document.body.appendChild(div)
于 2012-12-08T03:51:54.083 に答える