1 回答

TA貢獻1789條經驗 獲得超8個贊
我不認為你瘋了。用鏈接替換括號內的文本實際上并不困難,因為您可以使用您提供preg_replace的內容進行替換,而不是像strpos您描述的那樣:
$source_string = ("Lorem ipsum dolor sit amet, [amzn 0970810458] consectetur adipiscing elit. Mauris facilisis felis eu turpis ultrices molestie. Donec vel ornare eros. Integer pharetra hendrerit tincidunt. Nunc in magna vitae nibh tempus pulvinar. Cras lacinia nibh ac justo placerat pretium. Mauris volutpat non ligula sit amet tempus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. [amzn 097081044X] Suspendisse tincidunt tristique ante.");
$result = preg_replace("/\[amzn ([^\]]*)\]/", "<a href='https://www.amazon.com/dp/$1'>$1</a>", $source_string);
echo $result;
查看一些指南,為此實現 Drupal 8 過濾器應該不會太難。
編輯: 如果您也想定義標題,則可以使用您的格式這樣做:
彈頭: [amzn 0970810458 "The Title of This Book"]
正則表達式: preg_replace('/\[amzn ([^\s]+) "(.+?)"\]/', '<a href="https://www.amazon.com/dp/$1">$2</a>', $source_string);
有關上述完整示例,請參閱https://3v4l.org/U9PHS。
有許多不同的格式化方法。您描述的方式很好,只是請注意,如果例如書名包含雙引號,則需要一些額外的代碼來處理。
- 1 回答
- 0 關注
- 150 瀏覽
添加回答
舉報