私は2本の弦を持っています
$xml = '<para aid:pstyle="NL_FIRST">—To the best of our knowledge, the MMSN<emph aid:cstyle="ITALIC"> protocol</emph> is the first multifrequency<emph aid:cstyle="ITALIC"> MAC protocol especially</emph> designed for WSNs, in which each device is equipped with a single radio transceiver and the MAC layer packet size is very small.</para></item><item>';
$tex = '\begin{itemize}\item o the best of our knowledge, the MMSN protocol is the first multifrequency MAC protocol especially designed for WSNs, in which each device is equipped with a single radio transceiver and the MAC layer packet size is very small.\item';
<emph aid:cstyle="ITALIC"> protocol</emph>
この種のタグを見つけて、同じテキストを見つけて、単語を$tex
に置き換える必要があります 。"protocol"
{it protocol }
単に
私はこのパターンを見つける必要があります
<emph aid:cstyle="ITALIC"> protocol</emph>
そのパターン内のテキストを見つけて、$tex 内の同じ単語を置き換えます。
$tex
参考までに: 内容的にはどちらも同じ$xml
です。
このコードを使用しました
preg_match_all('/<emph aid:cstyle="ITALIC">(.*?)<\/emph>(.*?)\</',$xml,$matches);
for($i=0;$i<count($matches[1]);$i++)
{
$findtext = str_replace("<","",$matches[1][$i].$matches[2][$i]);
$replace = "{\it".$matches[1][$i]."}".$matches[2][$i];
$finaltext = preg_replace('/'.$findtext.'/',$replace,$tex);
}
echo $finaltext;
しかし、それは1つだけを置き換えます。