我有一个php字符串,其中可能包含中文和其他不是utf8的符号。我需要删除所有这些内容,只需要维护英文字母,数字和常见符号以及空白。
我尝试过这样的正则表达式
$text = preg_replace('/[^A-Za-z0-9\-]/', ' ', $words);
但是我没有得到想要的输出。 我的字符串将像这样:
l 2014 ;59:316 �猫聦聙 Efficacy and Safety of Terbinafine Hydrochloride 1% Cream vs. Sertaconazole Nitrate 2% Cream in Tinea Corporis and Tinea Cruris: A Comparative Therapeutic Trial .Indian Journal of Dermatology 2013 ;58(6):457 - 460 �猫聦聙 Congenital cutis laxa with rectal and uterovaginal prolapse. Indian J Dermatol Venereol Leprol 2011 ;77:321 - 4 �猫聦聙 Dermatitis neglecta. Indian J Dermatol Venereol Leprol 2011 ;77:62 - 3 �猫聦聙 Ichthyosis bullosa of Siemens sans history of blistering: an interesting case report Journal of Pakistan Association of Dermatologists 2009 ; 19: 171 - 174 Paper presentations �猫聦聙 Study of Autologous Serum Skin Test In Chronic Idiopathic Urtic aria at Cuticon conference , Dec 2010 �猫聦聙 Scenerio of Leprosy at Tertiary Care Level Centre In Rural Central India at Cuticon conference , Nov 2009 Poster presentations �猫聦聙 Extrav
我想删除�猫聦聙
之类的东西。
答案 0 :(得分:0)
您似乎只想保留可打印的ASCII字符,而要摆脱其余字符。
您可以使用此正则表达式,它将保留所有可打印的ascii字符并删除其余字符,
[^ -~]+
此正则表达式基本上使用从空格到波浪号的最后一个ascii字符的远程字符集。
让我知道这是否适合您。如果您也想进一步从ASCII列表中排除更多的字符,可以很容易地做到这一点。请让我知道。
PHP代码演示
$words = "l 2014 ;59:316 �猫聦聙 Efficacy and Safety of Terbinafine Hydrochloride 1% Cream vs. Sertaconazole Nitrate 2% Cream in Tinea Corporis and Tinea Cruris: A Comparative Therapeutic Trial .Indian Journal of Dermatology 2013 ;58(6):457 - 460 �猫聦聙 Congenital cutis laxa with rectal and uterovaginal prolapse. Indian J Dermatol Venereol Leprol 2011 ;77:321 - 4 �猫聦聙 Dermatitis neglecta. Indian J Dermatol Venereol Leprol 2011 ;77:62 - 3 �猫聦聙 Ichthyosis bullosa of Siemens sans history of blistering: an interesting case report Journal of Pakistan Association of Dermatologists 2009 ; 19: 171 - 174 Paper presentations �猫聦聙 Study of Autologous Serum Skin Test In Chronic Idiopathic Urtic aria at Cuticon conference , Dec 2010 �猫聦聙 Scenerio of Leprosy at Tertiary Care Level Centre In Rural Central India at Cuticon conference , Nov 2009 Poster presentations �猫聦聙 Extrav";
echo preg_replace('/[^ -~]+/', '', $words);
仅打印您想要的字符。
l 2014 ;59:316 Efficacy and Safety of Terbinafine Hydrochloride 1% Cream vs. Sertaconazole Nitrate 2% Cream in Tinea Corporis and Tinea Cruris: A Comparative Therapeutic Trial .Indian Journal of Dermatology 2013 ;58(6):457 - 460 Congenital cutis laxa with rectal and uterovaginal prolapse. Indian J Dermatol Venereol Leprol 2011 ;77:321 - 4 Dermatitis neglecta. Indian J Dermatol Venereol Leprol 2011 ;77:62 - 3 Ichthyosis bullosa of Siemens sans history of blistering: an interesting case report Journal of Pakistan Association of Dermatologists 2009 ; 19: 171 - 174 Paper presentations Study of Autologous Serum Skin Test In Chronic Idiopathic Urtic aria at Cuticon conference , Dec 2010 Scenerio of Leprosy at Tertiary Care Level Centre In Rural Central India at Cuticon conference , Nov 2009 Poster presentations Extrav