簡體   English   中英

替換鏈接位置(href ='…')

[英]Replace Links Location (href='…')

我要替換頁面的鏈接位置(錨標記),如下所示。

輸入樣例:

text text text <a href='http://test1.com/'> click </a> text text
other text <a class='links' href="gallery.html" title='Look at the gallery'> Gallery</a>
more text

樣本輸出

text text text <a href='http://example.com/p.php?q=http://test1.com/'> click </a> text text
other text <a class='links' href="http://example.com/p.php?q=gallery.html" title='Look at the gallery'> Gallery</a>
more text

我希望我已經說清楚了。 無論如何,我正在嘗試使用PHP和reg-ex來實現。 您能正確地照亮我嗎?

謝謝薩迪

不要使用正則表達式來解析HTML。

一定要使用PHP的內置XML解析引擎。 它可以很好地解決您的問題(並回答啟動問題):

<?php
  libxml_use_internal_errors(true);  // ignore malformed HTML
  $xml = new DOMDocument();
  $xml->loadHTMLFile("http://stackoverflow.com/questions/3099187/replace-links-location-href"); 
  foreach($xml->getElementsByTagName('a') as $link) {
   $link->setAttribute('href', "http://www.google.com/?q=" . $link->getAttribute('href'));
  }
  echo $xml->saveHTML();  // output to browser, save to file, etc.

嘗試使用str_replace();

   $string = 'your text';
   $newstring = str_replace ('href="', 'href="http://example.com/p.php?q=', $string);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM