str = "
1<br /> <br/>
<object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="100" height="30">
<param name="url" value="http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3" />
<param name="autostart" value="false" /><param name="showcontrols" value="true" />
<a href="http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3" title="Audio/VLS_B1U1P3P2A.mp3">Audio/456.mp3</a>
</object> 2222
";假设有上面这么长一段字符串:
1.想把“<param name="url" value="http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3" />”中的http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3取出来。
2.想把“<param name="url" value="http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3" />”替换成
“<param name="url" value="456.mp3" />”帮下小弟吧

解决方案 »

  1. 静态的用 str_replace
    动态的用 preg_replace你总得自己先动动手吧
      

  2. 关键是preg_replace里面不知道咋写
      

  3. 哈哈 两位老大都这样说了 不好动手 你自己开个头吧
    看下手册上 preg_match_all  preg_replace的用法吧
      


  4. preg_replace('/\"[a-zA-Z0-9_\\]\.mp3"/', 'ABC', $ansList->questiontext);
    这样试了一下,什么反映都没有,- -
      

  5. $str = <<< TEXT
    1<br /> <br/>
    <object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="100" height="30">
    <param name="url" value="http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3" />
    <param name="autostart" value="false" /><param name="showcontrols" value="true" />
    <a href="http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3" title="Audio/VLS_B1U1P3P2A.mp3">Audio/456.mp3</a>
    </object> 2222
    TEXT;/** 1 **/
    preg_match_all('/value="(http.+?)"/is', $str, $reg);
    print_r($reg[1]); //Array ( [0] => http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3 )/** 2 **/
    echo preg_replace('/(value=)"(http.+?([^\/]+))"/is', '$1"$3"', $str);1<br /> <br/>
    <object classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="100" height="30">
    <param name="url" value="456.mp3" />
    <param name="autostart" value="false" /><param name="showcontrols" value="true" />
    <a href="http://127.0.0.1:8080/test/file.php/4/Audio/456.mp3" title="Audio/VLS_B1U1P3P2A.mp3">Audio/456.mp3</a>
    </object> 2222
      

类似问题 »