草庐IT

str-replace

全部标签

php - 用 str_replace 只替换字符串的第一个字符?

我试图只替换字符串的第一个字符,但它不起作用,它替换了字符串中的所有“0”,这是我的代码:$mes2=str_replace('0','',$mes[0]);我只想替换第一个字符,例如:07becomes7我不想一直替换,例如:11becomes1,idon'twantit.我也尝试过这种方式,但它没有按照我想要的方式工作,因为如果它是0,它也会替换第二个字符,就像10变成1。$mes2=preg_replace('/0/','',$mes,1); 最佳答案 好的,根据对您问题的改进,您可能想要的是ltrim。$out=ltrim(

php - scraper php 返回空白页

我是php新手,我制作了一个scraper.php页面,您可以在其中从“http://www.weather-forecast.com”检索任何给定城市的天气信息。我一直在跟随讲师,但我不明白为什么我的代码应该返回一个简短的3天预报时却返回一个空白页无论如何...这是我的代码(.*?)',$contents,$matches);echo$matches[1];?> 最佳答案 它不是空白,而是您的脚本中的错误。它是空白的,可能是因为您关闭了错误报告。来自这一行:preg_match('/3DayWeatherForestSummary

php - 如何使用 RegexIterator::REPLACE 模式?

我的代码有什么问题:$i=newRegexIterator(newArrayIterator(array('test1'=>'test888','test2'=>'what?','test3'=>'test999')),'/^test(.*)/',RegexIterator::REPLACE);foreach($ias$name=>$value)echo$name.'=>'.$value."\n";迭代器是空的,为什么?感谢您的帮助! 最佳答案 如果您省略操作模式(新RegexIterator语句中的第3个参数),您将获得匹配值,如

php - preg_replace 与 preg_filter

preg_replace和preg_filter有什么区别?在某些情况下使用其中一个而不是另一个有什么优势吗?我尝试阅读文档,但仍然不太了解它们之间的区别。请赐教。谢谢。 最佳答案 preg_filter优于preg_replace的优点是您可以检查是否有任何内容被替换,因为如果没有任何内容被替换,preg_filter将返回null,而preg_replace无论如何都会返回主题。$subject='chips';$pattern='/chops/';$replacement='flops';if(is_null(preg_fil

php - 使用带有特殊字符的字符串时,str_split() 在 PHP 中无法正常工作

我正在尝试以下内容$x="126·10⁴";$array=str_split($x);echo"x=".$x."";echo"Arraylength:".count($array)."";echo"Charset:".mb_detect_encoding($x)."";foreach($arrayas$i)echo$i."";输出为:x=126·10⁴Arraylength:10Charset:UTF-8126��10���我希望·和⁴是数组中的1个字符,如何实现?我想要达到的目的是遍历字符串的所有字符,因此也欢迎任何其他解决方案。 最佳答案

php - preg_replace 不适用于某些单词/字符

$str='کسنےموسیٰکےبارےمیںسناہے؟';$str=preg_replace('/(?这无法替换موسیٰ。它应该给出کسنےMusaکےبارےمیںsunaہے؟而不是给出کسنےموسیٰکےبارےمیںsunaے͟。所有以ٰ结尾的单词都会发生这种情况,例如تعالیٰ。它适用于ٰ位于单词中间的单词(没有以ٰ开头的单词)。这是否意味着\b不能与ٰ一起使用?是错误吗? 最佳答案 原因是单词边界在以下位置匹配:Beforethefirstcharacterinthestring,ifthefirstchar

php - Preg_replace,只替换( )中的模式部分?

很抱歉这个基本问题,但我一直在查看我能找到的关于preg_replace的所有信息,但我仍然无法弄清楚。我有一个大字符串,例如:$string='#tjs{fassdaf}#fsk{fssf}#fskff{casf}';当我这样做时,它会替换整个模式,而不仅仅是()中的部分,因为我希望它这样做。我想知道如何才能替换()中的部分。谢谢$pattern='/#.*tjs.*\{.*(.*)\}/imsU';$replacement="test";$return_string=preg_replace($string,$pattern,$replacement);预期被替换的字符串:'#tj

php - 如何使用PHP preg_replace 正则表达式查找和替换文本?

我写了这段PHP代码来做一些替换:functioncambio($txt){$from=array('/\+\>([^\+\>]+)\text\1','\1',);returnpreg_replace($from,$to,$txt);}echocambio('ThefruitImostlikeis:+>%apple%%banna%%orange%结果是:ThefruitImostlikeis:applebannaorange.但是我需要识别水果的span标签,如下所示:ThefruitImostlikeis:applebananacoco.我会买一个水果给谁发现一个正则表达式来完成这个

php - preg_replace + UTF-8 在一台服务器上不起作用,但在另一台服务器上起作用

echopreg_match("/\b(בדיקה|מילה)\b/iu","זוהיבדיקה");出于某种原因,这段代码在我测试过的几台服务器上返回1,但在一台特定服务器上返回0。PCRE编译时支持UTF-8和Unicode属性支持。可能是什么问题? 最佳答案 PHP使用的PCRE版本之间可能存在差异。PHP和PCRE版本:http://php.net/pcre.installation你应该使用8.10+(PHP5.3.4+)Version8.1025-Jun-2010:AddedPCRE_UCPtomake\b,\d,\s,

php - 如何在 preg_replace() 函数中使用 substr() 函数?

这是我目前所拥有的,但无论我尝试什么,我的album-content都不会被substr()截断。$gallery=preg_replace('/()(.*?)()/e',"'$1'.substr(\"$2\",0,50).'$3'",$gallery);更新:原来我的类名不正确,我的正则表达式似乎确实有效。我只需要执行另一个str_replace()来取消转义输出。$gallery=preg_replace('/()(.*?)()/e',"'$1'.substr(\"$2\",0,50).'$3'",$gallery);$gallery=str_replace('\"album-de