【发布时间】:2021-03-06 19:41:18
【问题描述】:
假设我的 Wordpress 标题、帖子内容和 cmets 中有这些文本:
#TSLA
$TSLA
我想做的是让 Wordpress 识别文本 #TSLA 和 $TSLA 并自动替换为超链接,如下所示:
<a href="https://www.mywebsite.com/?s=TSLA">#TSLA</a>
<a href="https://www.mywebsite.com/?s=TSLA">$TSLA</a>
至于$,我只想为字母(A到Z)添加一个超链接,而不是数字。
基本上,与 Twitter 所做的非常相似。
有没有 function.php 代码可以做到这一点?
谢谢。
编辑:好的,我想感谢 Markus Zeller。
基本上这是我到目前为止所得到的:
<?php
$x = "#TSLA";
$z = preg_replace("/^#*/", "", $x);
echo "<a href='?s=$z'>#$z</a>";
?>
这正是我所需要的。
查找以 # 开头并替换为超链接的行。
我还有两件事要弄清楚:
- 如何使用 $ 而不是 #。
- 现在正在回显,我需要通过在 functions.php 中添加一行来在 wordpress 上全局替换它
任何进一步的帮助将不胜感激。
【问题讨论】:
-
是的,您可以通过regular expression 实现这一点。
-
谢谢马库斯,我想我是在正确的轨道上,请你进一步帮助我。我已经编辑了帖子。谢谢。
-
我知道很难想出正确的术语,但只需搜索“php 用链接替换单词”就会在 SO 上出现很多点击,所有这些都带有解决您问题的代码。请在发布新问题之前尝试搜索,或者如果您已经找到这些问题,请描述您如何尝试它们以及为什么它们不起作用。 stackoverflow.com/questions/33460311/…, stackoverflow.com/questions/380773/…, stackoverflow.com/questions/5889873/…