Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk membuang tanda baca bahasa Inggeris dalam PHP

Bagaimana untuk membuang tanda baca bahasa Inggeris dalam PHP

青灯夜游
Lepaskan: 2023-03-16 08:24:02
asal
1878 orang telah melayarinya

Kaedah pengalihan keluar: Gunakan fungsi preg_replace() dengan ungkapan biasa "/[[:punct:]]/i" untuk mencari semua tanda baca bahasa Inggeris dalam rentetan dan menggantikannya dengan aksara kosong ;Syntax ". preg_replace('/[[:punct:]]/i', '', $str)".

Bagaimana untuk membuang tanda baca bahasa Inggeris dalam PHP

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Dalam php, anda boleh menggunakan preg_replace () fungsi Gunakan ungkapan biasa untuk mengalih keluar tanda baca bahasa Inggeris daripada rentetan.

Hanya gunakan fungsi preg_replace() untuk menggantikan tanda baca bahasa Inggeris dengan rentetan kosong.

Ungkapan biasa yang digunakan ialah: /[[:punct:]]/i

Contoh: Hanya alih keluar tanda baca bahasa Inggeris dan kekalkan aksara lain (termasuk tanda baca bahasa Cina)

<?php
header("Content-type:text/html;charset=utf-8");
$str = "12!@78#9$%^56&78*9()0.8,7<>8|3[]8&#39;45\"67!【】“45”‘67’"; 
echo "原字符串:".$str."<br><br>";
$Newstr=preg_replace(&#39;/[[:punct:]]/i&#39;,&#39;&#39;,$str);
echo "处理后:".$Newstr;
?>
Salin selepas log masuk

Bagaimana untuk membuang tanda baca bahasa Inggeris dalam PHP

Penerangan

Fungsi preg_replace() boleh melakukan carian dan penggantian ungkapan biasa.

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
Salin selepas log masuk

Jika $subject ialah tatasusunan, fungsi preg_replace() akan mengembalikan tatasusunan, jika tidak ia akan mengembalikan rentetan.

Jika fungsi preg_replace() menemui padanan, ia akan mengembalikan $subjek yang diganti, jika tidak ia akan mengembalikan $subjek yang tidak berubah. Setiap parameter fungsi preg_replace() (kecuali parameter $limit) boleh menjadi tatasusunan. Jika parameter $pattern dan parameter $replacement adalah kedua-dua tatasusunan, fungsi akan memproses kekunci mengikut susunan ia muncul dalam tatasusunan. Jika ralat berlaku, NULL dikembalikan.

Parameter $replacement boleh mengandungi rujukan belakang \n atau $n, dengan yang terakhir diutamakan secara sintaksis. Setiap rujukan tersebut akan digantikan dengan teks yang ditangkap oleh subkumpulan penangkapan ke-n yang telah dipadankan. n boleh menjadi 0-99, dengan \0 dan $0 mewakili teks padanan corak yang lengkap.

Kaedah pengiraan nombor siri untuk menangkap subkumpulan ialah: kurungan kiri yang mewakili subkumpulan yang menangkap dikira dari kiri ke kanan, bermula dari 1. Jika anda ingin menggunakan garis miring ke belakang dalam $replacement, anda mesti menggunakan 4 ("\\" kerana ini adalah rentetan PHP pertama, kemudian dua selepas melarikan diri, dan kemudian ia dianggap sebagai teks asal selepas melalui garis miring ke belakang enjin ungkapan biasa).

Apabila bekerja dalam mod gantian dan rujukan belakang perlu diikuti oleh nombor lain (contohnya: menambah nombor asal serta-merta selepas corak yang sepadan), anda tidak boleh menggunakan sintaks \1 untuk menerangkan Rujukan Balik. Sebagai contoh, \11 akan menyebabkan preg_replace() tidak memahami sama ada anda mahu rujukan belakang \1 diikuti dengan 1 asal, atau rujukan belakang \11 diikuti dengan apa-apa. Penyelesaian dalam kes ini ialah menggunakan ${1}1. Ini mencipta rujukan belakang yang berasingan untuk $1, rujukan belakang yang berasingan untuk sumber 1.

Apabila menggunakan pengubah suai e yang ditamatkan, fungsi ini akan melarikan diri daripada beberapa aksara (iaitu: ', ", dan NULL) dan kemudian melakukan penggantian rujukan belakang. Apabila ini selesai, sila pastikan untuk membuat rujukan belakang Selepas menghuraikan, tiada ralat sintaks yang disebabkan oleh petikan tunggal atau petikan berganda (contohnya: 'strlen('$1') strlen("$2")'). enjin akan menggunakan kaedah eval untuk menilai rentetan hasil sebagai kod PHP dan menggunakan nilai pulangan sebagai rentetan akhir yang akan digantikan: "

Tutorial Video PHP

".

Atas ialah kandungan terperinci Bagaimana untuk membuang tanda baca bahasa Inggeris dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan