如何在段落中查找并添加粗体字符串?
我一直在为我的网站创建搜索脚本。但我想在每个搜索结果的描述中使用斜体
匹配的单词。我使用的脚本是 PHP
中的,描述段落有变量 $search_desc
。目前我正在使用 str_ireplace()
函数来实现我的目标。 但我觉得我的目标太遥远了!这是函数
echo str_ireplace($search_query,"<i>".$search_query."</i>",$search_desc);
但问题是,如果搜索查询是 search
并且例如搜索结果的描述是,
这是搜索演示的说明。
因此,将 italic
属性添加到它显示的匹配单词后的描述
这是搜索演示的说明。
所以你可以看到问题很大。因为原来的描述被编辑了!那么有人对我的问题有什么想法吗?如果您确实请告诉我!
I have being creating a Search Script for my site. But I wanna italic
the matched words in the Description of every search result. The script I'm using is in PHP
and the Description paragraph has variable $search_desc
. Currently I'm using str_ireplace()
function to achieve my goal. But I think my goal is too far away! Here is the function
echo str_ireplace($search_query,"<i>".$search_query."</i>",$search_desc);
But the problem is that if the search query is search
and for the example the Description of a search result is,
This is description for Search Demo.
So the Description after adding italic
property to the matched word it shows
This is description for search Demo.
So you can see the problem is big. Because the original Description gets edited! So anyone have got any ideas for my problem? Please if you do let me know!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为你想要使用的是 preg_replace。
http://php.net/manual/en/function.preg-replace.php
此功能允许您使用找到的单词的标记来搜索和替换。像这样的东西可能会起作用:
这段代码可能有错误,我只是快速地将它放在一起。但我认为这对于您的情况来说是正确的想法。
I think what you want to use is preg_replace.
http://php.net/manual/en/function.preg-replace.php
This function allows you to search and replace using a token for the word that was found. Something like this might work:
This code might have errors, I just threw it together quickly. But I think this is the right idea for your situation.
我认为你可以使用 javascript 轻松实现你的目标。试试这个:
1) 包含以下代码:
2) 调用函数
Source
I think you can easily achieve your goal using javascript. Try this:
1) Include the following code:
2) Call the function
Source
试试这个例子,它会工作得很好
Try This example it will work fine