在 WordPress 中,我需要将每个页面内容中的某个短语设为斜体
In WordPress, I need to italicize a certain phrase in each page's content
我有一个正在使用的 WordPress 网站,其中有很大一部分描述植物种类。每个植物名称都以 "R." 开头,后跟物种名称。例如,一个实例是"R. adenogynum." 所有这些名称都必须斜体。
这样的例子有很多,手工做会很费时间。我正在尝试编写一个插件,它将 check/italicize $content 中的所有单词,每次 "the_content" 是 运行。换句话说,我使用的是
add_filter( 'the_content', 'italicize' )
function italicize($content) {
...
执行此操作的函数。
我试过像这样使用爆炸方法:
$words = explode( ' ', $content );
然后检查 $words 数组中的每个单词,但问题是空格和 HTML 标记也是 $content 的一部分,这会混淆所有内容。另外,我将不得不使用 implode 将所有内容重新组合在一起,这也有点混乱。
那么如何使用插件成功地编辑这些植物名称呢?
这份工作最适合preg_replace。
你的函数看起来像这样:
function italicize_plant_names ($content) {
$content = preg_replace('(R\.\s+\w+)', '<em>[=10=]</em>', $content);
return content;
}
使用正则表达式语法。
add_filter( 'the_content', function($content) {
return preg_replace("/(R\. [a-z]+)/", "<i></i>", $content);
});
这将匹配任何以 "R." 开头,后跟 space,后跟全小写单词并将其替换为该单词的斜体版本的短语。
试试这个插件:
http://urbangiraffe.com/plugins/search-regex/
它允许您进行正则表达式搜索并search/replace搜索您的词组。
我有一个正在使用的 WordPress 网站,其中有很大一部分描述植物种类。每个植物名称都以 "R." 开头,后跟物种名称。例如,一个实例是"R. adenogynum." 所有这些名称都必须斜体。
这样的例子有很多,手工做会很费时间。我正在尝试编写一个插件,它将 check/italicize $content 中的所有单词,每次 "the_content" 是 运行。换句话说,我使用的是
add_filter( 'the_content', 'italicize' )
function italicize($content) {
...
执行此操作的函数。
我试过像这样使用爆炸方法:
$words = explode( ' ', $content );
然后检查 $words 数组中的每个单词,但问题是空格和 HTML 标记也是 $content 的一部分,这会混淆所有内容。另外,我将不得不使用 implode 将所有内容重新组合在一起,这也有点混乱。
那么如何使用插件成功地编辑这些植物名称呢?
这份工作最适合preg_replace。
你的函数看起来像这样:
function italicize_plant_names ($content) {
$content = preg_replace('(R\.\s+\w+)', '<em>[=10=]</em>', $content);
return content;
}
使用正则表达式语法。
add_filter( 'the_content', function($content) {
return preg_replace("/(R\. [a-z]+)/", "<i></i>", $content);
});
这将匹配任何以 "R." 开头,后跟 space,后跟全小写单词并将其替换为该单词的斜体版本的短语。
试试这个插件: http://urbangiraffe.com/plugins/search-regex/
它允许您进行正则表达式搜索并search/replace搜索您的词组。