草庐IT

str-replace

全部标签

php - 如何添加/进入 preg_replace 模式

我做了这个简单的函数来过滤数据。我添加了我允许包含的符号,但我也不知道如何添加/符号publicfunctionfilter($text){returnpreg_replace('/[^^a-zA-Z0-9#@:_(),.!@"]/','',$text);} 最佳答案 您可以使用反斜杠将其转义:preg_replace('/\//'...);或者使用其他字符作为分隔符:preg_replace('|/|'...); 关于php-如何添加/进入preg_replace模式,我们在Stack

php - PHP 中的 preg_replace - NOT 条件的正则表达式

我正在尝试使用preg_replace在PHP中编写一个函数,它将替换列表中未找到的所有字符。通常我们会在找到它们的地方进行替换,但这次不同。例如,如果我有字符串:$mystring="ab2c4d";我可以编写以下函数,用*替换所有数字:preg_replace("/(\d+)/","*",$mystring);但是我想替换那些既不是数字也不是字母的字符,从a到z。它们可以是#$*();~!{}[]|\/.,?'等等所以除了数字和字母之外的任何东西都应该被其他东西代替。我该怎么做?谢谢 最佳答案 您可以使用negatedchara

php - 用 Preg_Replace 替换撇号时出现问题

我正在尝试从文本中删除撇号,但它并没有真正起作用。它必须是小东西。$text=preg_replace('/\'/','',$text);这就是我现在用来删除它的方法。我做错了什么?有一系列删除特殊字符将它们变成url并将它们存储在我的数据库中。然而,最近一批出现了一个''的位置。非常感谢任何帮助。提前谢谢你。 最佳答案 尝试使用str_replace(),它比preg_replace()快因为它不使用正则表达式。$text=str_replace("'",'',$text); 关于ph

php - PHP str_word_count() 多字节安全吗?

我想使用str_word_count()在UTF-8字符串上。这在PHP中安全吗?在我看来它应该是(特别是考虑到没有mb_str_word_count())。但是在php.net上有很多人在搅浑水presentingtheirown'multibytecompatible'versionsofthefunction.所以我想我想知道...鉴于str_word_count只是计算由""(空格)分隔的所有字符序列,它在多字节字符串上应该是安全的,即使它不一定知道字符序列,对吧?UTF-8中是否有任何等效的“空格”字符,它们不是ASCII""(空格)?#我猜这就是问题所在。

php - 制表符分隔文件上的 str_getcsv

这适用于comma分隔的文件:array_map('str_getcsv',file('file.csv'));但这不适用于tab分隔的文件:array_map('str_getcsv("\t")',file('file.TLD')); 最佳答案 这应该适合你:array_map(function($v){returnstr_getcsv($v,"\t");},file('file.csv'));示例*.csv文件:abcd1234输出:Array([0]=>Array([0]=>a[1]=>b[2]=>c[3]=>d)[1]=>A

php - utf-8(PHP,str_replace)中是否有不同类型的双引号?

在PHP5.3中,我试图这样替换字符串中的双引号:$bar=str_replace('"','\'',$foo);但是一些保存在utf8数据库中的引号没有被替换,尽管它们看起来非常正常:“一些文本”我必须搜索不同的字符类型吗?如果有,它们是哪些? 最佳答案 有很多字符看起来像引号,但大多数都很少使用。用的比较多的是这三个:"U+0022QUOTATIONMARK“U+201CLEFTDOUBLEQUOTATIONMARK”U+201DRIGHTDOUBLEQUOTATIONMARK一些比较罕见的是FULLWIDTHQUOTATION

php/regex : How to replace part of a found pattern, 但其余部分保持原样?

如何替换找到的模式中的子字符串,但保留其余部分?(编辑:实际情况当然比下面的示例更复杂,我必须匹配xml标记中的匹配项。这就是我必须使用正则表达式的原因!)假设我想将单词中出现的字母“X”更改为字母“Z”。我要aaXaaaaXXaa成为aaZaaaaZZaa查找包含“x”的单词的出现不是问题,如下所示:[^X\s]X[^\s]但是普通的preg_match会替换完整的匹配项,我希望模式中除“X”之外的任何内容都保持原样。在php中实现此目的的最佳方法是什么? 最佳答案 如果您的正则表达式仅匹配相关部分,则替换完整匹配应该没有问题(如

PHP,str_pad unicode 问题

我只是想将$str固定为5个字符,但做不到。$str="nü";echostr_pad($str,5,"ü");//givenüü我知道这是一个unicode问题并进行了很多搜索,但没有成功。我尝试了诸如;echostr_pad($str,4+mb_strlen($s),$s);echostr_pad($str,5+mb_strlen($s),$s);我也试过这个http://www.php.net/manual/de/function.str-pad.php#89754看到这个https://stackoverflow.com/a/11871948/362780.有这方面的经验吗?谢

php - Ruby 中的 preg_match_all 和 preg_replace

我正在从php过渡到ruby​​,我试图找出ruby​​中php命令preg_match_all和preg_replace的同源词。非常感谢! 最佳答案 preg_match_all在Ruby中的等价物是String#scan,像这样:在PHP中:$result=preg_match_all('/some(regex)here/i',$str,$matches);在Ruby中:result=str.scan(/some(regex)here/i)result现在包含一组匹配项。Ruby中preg_replace的等价物是String

php - 如何使用 preg_replace 替换多行文本

您好,在一个延伸多行的html页面中有以下内容Heading1TheHomePagemustprovideaintroductiontotheservicesprovided.SubHeadingTheHomePagemustprovideaintroductiontotheservicesprovided.SubHeadingTheHomePagemustprovideaintroductiontotheservicesprovided.我需要替换之间的所有内容和带有自定义文本我使用以下代码来完成此操作,但如果它是多行,它就无法工作,但如果evertinh在一行中,它就可以工作$bo