为了账号安全,请及时绑定邮箱和手机立即绑定

如何将正则表达式与删除空格和 # 字符结合使用

如何将正则表达式与删除空格和 # 字符结合使用

PHP
MYYA 2022-10-14 15:33:41
我有这个数组,我需要删除空格和 # 标签字符:array (size=7)  0 => string 'darwin' (length=6)  1 => string ' #nature' (length=8)  2 => string ' explore' (length=8)  3 => string ' galapagos' (length=10)  4 => string 'karma' (length=5)  foreach ($feedSinglePosts["hashtags_list"] as $key=>&$item) {     $item = preg_replace('/(\s|^)/', '', $item);     $item = preg_replace('/\#+/', '', $item);  }上面的正则表达式效果很好,但如果可能的话,我想把它写成一行。当我这样做时:/(\s|^)\#+/它输出:array (size=7)  0 => string 'darwin' (length=6)  1 => string 'nature' (length=6)  2 => string ' explore' (length=8)  3 => string ' galapagos' (length=10)  4 => string 'karma' (length=5)如何在删除空格和3标签的衬里上制作正则表达式。
查看完整描述

3 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

看来字符将在开头或结尾。如果是这样,则不需要循环或正则表达式:

array_walk($feedSinglePosts["hashtags_list"], function(&$v) { $v = trim($v, "\n\r #"); });

如果您需要在任何地方删除它们:

$feedSinglePosts["hashtags_list"] = str_replace(["\n","\r"," ","#"], "", $feedSinglePosts["hashtags_list"]);



查看完整回答
反对 回复 2022-10-14
?
萧十郎

TA贡献1815条经验 获得超13个赞

一个非正则表达式的方式array_walk()和trim(),


<?php

    $array = ['darwin' ,' #nature',' explore', ' galapagos','karma'];

    function remove_hash_space(&$value,$key){

         $value = trim($value,'# ');

     }

    array_walk($array, 'remove_hash_space');  

    print_r($array);

   ?>

演示: https ://3v4l.org/nOadH

或单行array_map(),


 $array = array_map(function($e){return trim($e,'# ');},$array);  

演示: https ://3v4l.org/OaS1F


查看完整回答
反对 回复 2022-10-14
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您可以使用


$arr = ['darwin',' #nature',' explore',' galapagos','karma'];

print_r( preg_replace('~^[\s#]+~', '', $arr) );

// => Array ( [0] => darwin [1] => nature [2] => explore [3] => galapagos [4] => karma )

查看正则表达式演示

该^[\s#]+模式匹配字符串 ( ) 开头的1 次或多次出现 ( +) 空格或#字符 ( )。[\s#]^


如果您的字符串可能包含一些奇怪的 Unicode 空格,请考虑添加u修饰符:~^[\s#]+~u。


如果您只需要处理水平空格,请替换\s为\h.


查看完整回答
反对 回复 2022-10-14
  • 3 回答
  • 0 关注
  • 231 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号