Php 正则表达式:如何在非英语字符串和非英语字符串之间替换符号
我有一个字符串,其中包含英语和非英语字符,它们之间都包含Php 正则表达式:如何在非英语字符串和非英语字符串之间替换符号,php,regex,Php,Regex,我有一个字符串,其中包含英语和非英语字符,它们之间都包含下划线符号 我只想删除非英语字符串中的下划线,而只保留英语字符之间的下划线 示例:你好,这是我,我是 谢谢 这个preg_替换可能会起作用: preg_replace('/(?<=[^\x00-\x80])_(?=[^\x00-\x80])/', '', $str); preg_replace('/(?这应该可以满足您的需要: preg_replace('/(?<=\p{Arabic})_(?=\p{Arabic})/', '
下划线符号
我只想删除非英语字符串中的下划线,而只保留英语字符之间的下划线
示例:你好,这是我,我是
谢谢 这个preg_替换可能会起作用:
preg_replace('/(?<=[^\x00-\x80])_(?=[^\x00-\x80])/', '', $str);
preg_replace('/(?这应该可以满足您的需要:
preg_replace('/(?<=\p{Arabic})_(?=\p{Arabic})/', '', $s)
preg_replace('/(?您可以尝试以下方法:
<meta charset="UTF-8"/>
<pre><?php
$subject = "Hello_this is me , مرحبا_اناهنا";
$pattern = '~\p{Arabic}\K_(?=\p{Arabic})~u';
echo $subject . '<br/>' . preg_replace($pattern, ' ', $subject);
您尝试过什么?下划线旁边有空格或字符串结尾?或者数字?或者旁边总是有两个ASCII或两个非ASCII字符?我一回来就尝试。谢谢IDN不起作用。您能解决这个问题吗?/[\uw]*/我正在尝试删除字母之间除了英语和下划线以外的所有内容。示例:你好,这是我,我想我错了!你怎么能删除所有非英语字母及其下划线?我不清楚你的评论。你知道吗st想删除非英语字母之间的下划线,对吗?是的,但还有一个问题,如果我也想删除非英语字母,将如何删除?如果要删除所有非英语字母,请使用:preg\u replace('/[^\x00-\x80]+/','$str);