假设你有一个字符串,但你不知道它包含了什么。并且你想用同一个单词的格式化版本来替换特定单词或单词部分的所有出现。 例如,我有一个包含“lorem ipsum”的字符串,我想用“lorem can”替换包含“lo”的整个单词,以便最终结果为“lorem can ipsum”,但如果我将字符串“loreal ipsum”通过相同的功能,结果现在将是“loreal可以ipsum”。 感谢如何从PHP中的字符串中获取特定单词?
1
A
回答
0
$str = preg_replace('/lo(\w*)/', 'lo$1 can', $str);
这将替换 “LO” 加上 “LO” +其他字符+任意单词字符 “可以”
还将取代 “LO” 和 “LO可以” - 如果你不想这样,与RoBorg的回答改变\w*
到\w+
4
$str = preg_replace('/(\blo[a-z]+\b)/', '$1 can', $str);
的问题是:
\w
匹配数字和下划线,它们不是真的人类语言中的单词字符,所以它会匹配'lo_fi'或'__lo__'。- 它还会匹配不以
lo
开头的单词,例如'slorem',或者甚至包含以'allo'结尾的单词。
\b
确保lo
如下的单词断(零宽度)和[a-z]+
确保至少一个字母字符如下“LO”。
编辑:我看到问题的文字说“包含”而不是“开始于”,在这种情况下,第一个\b
可能会被省略。
编辑2:请注意,这些解决方案都不是国际安全的。我没有测试过这个,但是PHP的RegEx功能很强大,所以我猜测它可以工作:
$str = preg_replace('/(\blo[a-z\p{L}]+\b)/', '$1 can', $str);
相关问题
- 1. PHP:如何从字符串中获取特定单词
- 2. 如何在PHP中获取特定的字符串单词?
- 3. 如何从Postgres中的字符串中提取特定单词
- 4. 获取Ruby字符串中特定单词后的单词吗?
- 5. PHP:在字符串中的特定单词之后提取特定单词?
- 6. 从字符串中获取特定单词,ORACLE
- 7. 从字符串获取单词 - PHP
- 8. 如何从字符串中去除特定字符和单词
- 9. 如何捕获字符串中的特定单词?
- 10. 获取字符串中的特定单词
- 11. PHP从HTML字符串中的特定单词剪切文本
- 12. 如何从字符串中删除特定的单词?
- 13. perl - 如何从字符串中删除特定的单词?
- 14. 如何从字符串中删除特定的单词?
- 15. 如何从字符串中删除特定的单词?
- 16. 如何从字符串的Arraylist中获取特定字符?
- 17. 如何从每个单词在字符串中删除特定的字母 - PHP
- 18. 如何获取字符串的单词?
- 19. 通过字词表从字符串中删除特定单词
- 20. 从NSString获取子字符串直到到达特定单词
- 21. 如何从PHP中的字符串变量中提取特定的字符串?
- 22. PHP获取特定字词内的一些字符串
- 23. PHP:试图找出如何从字符串中提取单词
- 24. PHP如何从短语中删除特定的字符串/单词?
- 25. 如何从SQL中的字符串中获取特定部分
- 26. 如何从Lua中的字符串中获取特定文本?
- 27. 如何从字符串使用PHP获取特定的子字符串数字?
- 28. 如何从oracle中的字符串获取特定数字
- 29. 如何从特殊字符串中获取数字? PHP
- 30. 如何从字符串(url)获取特定的字符串?