$data   =   " <li> <a   href=\ "http://www.phpq.net/news/php-v5.3.0.html\ "> <span>   PHP   5.3.0   RC1   正式发布   </span> </a> </li> 
<li> .   <a   href=\ "http://www.phpq.net/news/php-v5.2.9.html\ ">   PHP     v5.2.9   RC3已经释出   show   masin’s   super   </a> </li> 
<li> <a   href=\ "http://www.phpq.net/research/php-designptrns-five.html\ "> <span> PHP、设计模式之   策略模式 </a> </li> 
<li> . </span>   <a   href=\ "http://www.phpq.net/research/php-designptrns-four.html\ "> PHP设计模式之命令链模式 </a> </li> 
<li> .   <a   href=\ "http://www.phpq.net/research/php-designptrns-three.html\ "> PHP设计模式之观察   者模式   (Jonas\Ari   writing) </a> </li> 
<li> .   <a   href=\ "http://www.phpq.net/research/php-designptrns-two.html\ "> <span> PHP设计模式之单   元素模式   –Joson’s   wrting   </span> </a> </li> 
<li> .   <a   href=\ "http://www.phpq.net/research/php-designptrns-one.html\ "> PHP设计模式之工厂模式 </a> </li> 
<li> .   <a   href=\ "http://www.phpq.net/research/php-designptrns.html\ "> PHP设计模式大全 </a> </li> 
<li> .   <a   href=\ "http://www.phpq.net/iis/iis-php.html\ "> IIS的PHP最佳配置 </a> </li> 
<li> .   <a   href=\ "http://www.phpq.net/tutorial/php-string-guide.html\ "> PHP字符串终极教程 </a> </li> "; 
要求将每个<span></span>之间的PHP替换成JAVA and PHP,并将所有的”模式”替换成”pattern”

解决方案 »

  1.   

    echo str_replace('PHP', 'JAVA PHP', $data);
      

  2.   


    每个 <span> </span> 之间
      

  3.   


    $data       =       "   <li>   <a       href=\"http://www.phpq.net/news/php-v5.3.0.html\">   <span>       PHP       5.3.0       RC1       正式发布       </span>   </a>   </li>  
    <li>   .       <a       href=\"http://www.phpq.net/news/php-v5.2.9.html\">       PHP           v5.2.9       RC3已经释出       show       masin’s       super       </a>   </li>  
    <li>   <a       href=\"http://www.phpq.net/research/php-designptrns-five.html\">   <span>   PHP、设计模式之       策略模式   </a>   </li>  
    <li>   .   </span>       <a       href=\"http://www.phpq.net/research/php-designptrns-four.html\">   PHP设计模式之命令链模式   </a>   </li>  
    <li>   .       <a       href=\"http://www.phpq.net/research/php-designptrns-three.html\">   PHP设计模式之观察       者模式       (Jonas\Ari       writing)   </a>   </li>  
    <li>   .       <a       href=\"http://www.phpq.net/research/php-designptrns-two.html\">   <span>   PHP设计模式之单       元素模式       –Joson’s       wrting       </span>   </a>   </li>  
    <li>   .       <a       href=\"http://www.phpq.net/research/php-designptrns-one.html\">   PHP设计模式之工厂模式   </a>   </li>  
    <li>   .       <a       href=\"http://www.phpq.net/research/php-designptrns.html\">   PHP设计模式大全   </a>   </li>  
    <li>   .       <a       href=\"http://www.phpq.net/iis/iis-php.html\">   IIS的PHP最佳配置   </a>   </li>  
    <li>   .       <a       href=\"http://www.phpq.net/tutorial/php-string-guide.html\">   PHP字符串终极教程   </a>   </li>   ";  
    $tempdata = str_replace("模式","pattern",$data);
    $newdata = preg_replace("#(<span>[\d\D]*?)PHP([\d\D]*?</span>)#","$1JAVA and PHP$2",$tempdata);
    echo "<hr>".$newdata;
      

  4.   

    严格说来,后一个正则替换还是有点bug的。