gpt4 book ai didi

php - 删除 str_word_count 的一些引号

转载 作者:可可西里 更新时间:2023-10-31 23:28:57 26 4
gpt4 key购买 nike

我正在使用这个函数:http://www.seoreviewtools.com/multi-keyword-density-checker-php-script/但是我在使用奇怪的法语单词时遇到了一些问题。 (在这里查看我的修改版本:http://pastebin.com/m6PjsizX)

如您所知,str_word_count() 不适用于 UTF-8 字符,可以使用第三个参数来“忽略”这些字符。但是,我没有找到一种方法让它可以使用引号(在法语中很常见)。

法语单引号的三种情况:

  1. 一个 letter_quote_word(例如:j'aime、d'habitude、l'avion、s'intégrer)
  2. 一句话引述(例如:Aujourd'hui、prud'homme、quelqu'un)
  3. 主要是在品牌名称中,单词末尾有引号(例如 Super'、Vendu')

我想删除一些引号以便处理 str_word_count() 而不会出错(可能使用正则表达式和 preg_replace())以便得到这个结果:

$str = "J'aime la plage d'aujourd'hui, quelqu'un aimerait-il aller chez Super' pour voir l'avion bleue ?");
MagicFunction($str);
$str = str_word_count($str);
echo $str;

aime la plage aujourd'hui, quelqu'un aimerait-il aller chez Super' pour voir avion bleu

此外还有很多引号('、`、'、' 等),我希望它能处理所有类型的引号。

你有解决方案让它以这种方式工作吗?

谢谢!

最佳答案

你似乎想要

  • 当两个单词(j'aimel'huile)的第一个字母代表缩短的单词时,去掉撇号
  • 保留单词内部的撇号,不包括其中的第二个和最后一个位置(如aujourd'huiquelqu'un super ').

我建议采用一种方法来删除后跟撇号的单词开头的每一个字母。所有其他情况是当 ' 应该在单词的内部,因此必须保持完整。

'~\b\p{L}[\'`‘’]\b~u'

参见 regex demo

IDEONE demo :

$re = '~\b\p{L}[\'`‘’]\b~u'; 
$str = "J'aime la plage d'aujourd'hui, quelqu‘un aimerait-il aller chez Super’ pour voir l`avion bleue ? l'école L'";
$result = preg_replace($re, "", $str);
echo $result;
// => aime la plage aujourd'hui, quelqu‘un aimerait-il aller chez Super’ pour voir avion bleue ? école L'

注意,在处理 Unicode 字符串时,您必须在每次调用 preg_replace 时使用 /u 修饰符。

关于php - 删除 str_word_count 的一些引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35357365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com