亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 str_replace 和正則表達式重寫 HTML 錨

使用 str_replace 和正則表達式重寫 HTML 錨

PHP
白板的微信 2022-07-16 18:20:55
以下是通過編輯器自動輸出的:<a href="https://someurl.com/1001-web-file.pdf">1001-web-file</a>我想添加一個ID:<a id="replace" href="https://someurl.com/1001-web-file.pdf">1001-web-file</a>然后使用str_replace 和正則表達式查找有問題的錨點并替換為:<a href="https://someurl.com/1001-web-file.pdf"><img src="https://someurl.com/1001-web-file-pdf-290x300.jpg"/></a>我設法做的是:$replace = array('<a id="pdfthumb" href="' => '<img src="','.pdf">pdfthumb</a>' => '-pdf-290x300.jpg"/></br>');$text = str_replace(array_keys($replace), $replace, $text);return $text;這可以拆除錨標簽并重建為img。但我不能做更多。我玩弄了一些正則表達式來創建通配符,并意識到我需要為 href 創建一個變量,以便在我重建 HTML 時使用,但我被卡住了。
查看完整描述

2 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

就您而言,我認為如果您在客戶端使用 javascript 執行此操作應該會更容易。


我的背景不是 PHP,但您可以使用相同的模式來測試您的 PHP 代碼:


輸入:


<a href="https://someurl.com/1001-web-file.pdf">1001-web-file</a>

輸出:


<a href="https://someurl.com/1001-web-file.pdf"><img src="https://someurl.com/1001-web-file-pdf-290x300.jpg"/></a>

var input = '<a href="https://someurl.com/1001-web-file.pdf">1001-web-file</a>';


var pattern = /href=\"(.+)\.pdf\"/;


var match = input.match(pattern)[1];


input = input.replace(/(<a.*>).*(<\/a>)/, '$1<img src="' + match + '-pdf-290x300.jpg">$2');


console.log(input)


查看完整回答
反對 回復 2022-07-16
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

這是 Tan javascript 答案的翻譯后的 php 代碼


$input = '<a href="https://someurl.com/1001-web-file.pdf">1001-web-file</a>';

preg_match('/href="(.+)\.pdf"/', $input, $m);

$match = $m[1];

$input = preg_replace('/(<a.*>).*(<\/a>)/', '$1<img src="'. $match .'-pdf-290x300.jpg">$2', $input);

echo $input;


查看完整回答
反對 回復 2022-07-16
  • 2 回答
  • 0 關注
  • 159 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號