草庐IT

php - 正则表达式:匹配句子 PHP 中的单词

我有一个包含单词的数组$arr=array("go","walk",...)如果它们在句子中匹配,我想用链接替换这些词。但只有当它们完全匹配时才应该匹配(例如“walk”应该匹配“Walk”或“walk!”但不匹配“walking”)替换应该是一个简单的链接,例如:walk有人知道吗? 最佳答案 要匹配每个单词,例如“walk”而不是“walking”,请使用\b作为单词边界。例如,"\bwalk\b" 关于php-正则表达式:匹配句子PHP中的单词,我们在StackOverflow上找

php - 用于计算文本 block 中句子的正则表达式

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:PHP-Howtosplitaparagraphintosentences.我想将一段文本分成句子,最好的方法是什么?我想寻找“。”,“!”,“?”字符,但我意识到这有一些问题,例如当人们使用首字母缩略词时,或者以!?之类的方式结束句子。处理这个问题的最佳方法是什么?我认为会有一些正则表达式可以处理这个问题,但如果能更好地解决问题,我愿意接受非正则表达式解决方案。

php - 将从文本文件中提取句子的正则表达式

我需要一个正则表达式来从文本文件中提取句子。示例文本:例如,考虑2004年底发生的亚洲海啸灾难。对Google新闻(http://news.google.com)的查询返回了80,000多篇关于该事件的在线新闻文章一个月(2005年1月17日至2月17日)。先生的信息卡哈纳。这是我的代码:$re='/(?但是最后一句还是把informationbymr.和Kahana.分开了如何解决?谢谢:) 最佳答案 你不能用正则表达式做到这一点英语作为一种语言不符合适当的格式规则。因此,正则表达式不适合实现您正在寻找的目的。您真正需要的是类似自

php - 如何将PHP中的字符串截断为最接近特定字符数的句子?

我想将我的字符串截断/缩短为最接近特定字符数的句子。我有一个工作函数,但我的函数截断到最接近特定字符数的单词。functionshortenString($string,$your_desired_width){$parts=preg_split('/([\s\n\r]+)/',$string,null,PREG_SPLIT_DELIM_CAPTURE);$parts_count=count($parts);$length=0;$last_part=0;for(;$last_part$your_desired_width){break;}}returnimplode(array_sli

php - 如何将句子转换为单词数组?

来自这个字符串:$input="Sometermswithspacesbetween";我怎样才能生成这个数组?$output=['Some','terms','with','spaces','between']; 最佳答案 你可以使用explode,split或preg_split.explode使用固定字符串:$parts=explode('',$string);而split和preg_split使用的是正则表达式:$parts=split('+',$string);$parts=preg_split('/+/',$string

PHP - 获取文本的前两个句子?

我的变量$content包含我的文本。我想从$content中创建一个摘录并显示第一个句子,如果句子短于15个字符,我想显示第二个句子。我已经尝试从文件中删除前50个字符,并且有效:但我对结果不满意(我不想删减任何文字)。是否有PHP函数获取整个单词/句子,而不仅仅是substr?非常感谢! 最佳答案 我想通了,虽然很简单: 关于PHP-获取文本的前两个句子?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

php - 在php中清理句子

标题可能听起来很奇怪,但我有点想设置这个preg_replace来处理文本区域的困惑编写器。它必须:如果有感叹号,则不能再出现感叹号。如果有.,逗号优先,必须是,当逗号前有一个+空格时,应该减为无。句子不能以逗号开头或结尾。连接在一起的相同字母绝不能超过2个。逗号后必须始终有一个空格。例如:,我的房子是绿色的,真好!我的房子...,它是绿色的,很好!!!我的房子是绿色的,非常好!!最终结果应该总是:我的房子,绿色的,真好!是否有一个已经构建的正则表达式来处理这个问题?解决方案查看FakeRainBrigand的solution下面! 最佳答案

php - 将文本拆分成句子

如何将文本拆分为句子数组?示例文本:FrymeaBeaver.FrymeaBeaver!FrymeaBeaver?FrymeBeaverno.4?!FrymemanyBeavers...End应该输出:0=>FrymeaBeaver.1=>FrymeaBeaver!2=>FrymeaBeaver?3=>FrymeBeaverno.4?!4=>FrymemanyBeavers...5=>End我尝试了一些通过搜索在SO上找到的解决方案,但它们都失败了,尤其是在第4句。/(? 最佳答案 既然您想“拆分”句子,为什么要尝试匹配它们?对于这

php - 如何将句子中第一个单词的首字母大写?

我正在尝试编写一个函数来清理用户输入。我并不想让它变得完美。我宁愿有几个小写的名字和首字母缩略词,也不愿有大写的完整段落。我认为该函数应该使用正则表达式,但我不太擅长这些,我需要一些帮助。如果以下表达式后跟一个字母,我想将该字母设为大写。".""."(followedbyaspace)"!""!"(followedbyaspace)"?""?"(followedbyaspace)更好的是,该函数可以在“.”、“!”之后添加一个空格。和”?”如果后面跟着一个字母。如何实现? 最佳答案 $output=preg_replace('/([

php - 在 PHP 中将一段分解成句子

我一直在用explode(".",$mystring)将段落拆分成句子。然而,这不包括以不同标点符号结束的句子,例如!?:;有没有办法使用数组而不是单个字符作为分隔符?或者,还有另一种使用各种标点符号拆分的巧妙方法吗?我试过了explode(("."||"?"||"!"),$mystring)希望但它没有用...... 最佳答案 您可以使用preg_split()结合PCRElookaheadcondition在每次出现.后拆分字符串,;,:,?,!,..同时保持实际标点符号的完整性:代码:$subject='abcsdfs.def