Rumah > pembangunan bahagian belakang > masalah PHP > Apa yang perlu dilakukan jika ruang tidak boleh dialih keluar dalam php

Apa yang perlu dilakukan jika ruang tidak boleh dialih keluar dalam php

藏色散人
Lepaskan: 2023-03-17 09:32:01
asal
2174 orang telah melayarinya

Penyelesaian untuk ruang PHP yang tidak boleh dialih keluar: 1. Gunakan editor heksadesimal untuk melihat bait 2. Tambahkan parameter u kepada "regex-pattern" 3. Gunakan "str_replace(' ', ' '; , $fieldname);" boleh digunakan untuk menggantikan ruang.

Apa yang perlu dilakukan jika ruang tidak boleh dialih keluar dalam php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.

Apakah yang perlu saya lakukan jika ruang tidak boleh dialih keluar dalam php?

Saya mendapat rentetan PHP dan saya perlu mengalih keluar ruang. Saya menggunakan kod berikut tetapi apabila saya echo $classname ia hanya memaparkan rentetan yang masih mengandungi ruang.

$fieldname = the_sub_field('venue_title');
$classname = str_replace(' ', '', $fieldname);
echo $classname;
Salin selepas log masuk

Gunakan editor hex untuk melihat bait, jika ruang dalam HEX bukan 20 maka ia bukan ruang "biasa". Anda boleh menukar kepada HEX menggunakan fungsi mudah dalam PHP.

Kemungkinan pendua untuk mengalih keluar ruang dalam pembolehubah dalam PHP

Cuba tambah parameter u pada corak regex kerana rentetan boleh mempunyai pengekodan UTF-8:

$classname  =  preg_replace('/\s+/u', '', $fieldname);
Salin selepas log masuk

Wow. Terima kasih banyak-banyak! tolong!

Ini satu-satunya perkara yang berkesan untuk saya

Sama di sini. Rentetan dipulihkan daripada medan meta WordPress. Disimpan dalam panel pentadbir, selepas "copy-paste" dari tapak lama, menggunakan pengekodan berbeza...

Jika anda tahu bahawa ruang putih disebabkan oleh ruang putih sahaja, anda boleh menggunakan:

$classname = str_replace(' ','',$fieldname );
Salin selepas log masuk

Tetapi jika ia mungkin disebabkan oleh ruang, anda boleh menggunakan:

$classname = preg_replace('/\s+/','',$fieldname )
Salin selepas log masuk

Cuba gantikan h dengan s untuk mendapatkan ruang mendatar, ini akan mengekalkan baris baharu jika perlu.

Masalahnya mungkin watak itu bukan ruang, tetapi satu lagi watak ruang kosong.

Cuba

$classname = preg_replace('/\s/', '', $fieldname);
Salin selepas log masuk

gunakan trim seperti ini

TRIM($fieldname);
Salin selepas log masuk

EDIT:

preg_replace('/\s+/', '', $fieldname);
Salin selepas log masuk

trim() hanya akan bermula dari awal rentetan dan penyingkiran ruang putih mengekori

'trim()' hanya dipangkas pada permulaan atau penghujung rentetan. Dalam contoh Paul, aksara ruang kosong mungkin dalam rentetan.

Masalahnya ialah medan yang ia tarik, bukan PHP yang lain. 'the_sub_field('venue_title')' mengekstrak medan daripada pemalam wordpress 'Advanced Custom Fields', tetapi fungsi ini digunakan untuk memaparkan data dan bukannya hanya mendapatkannya. Sebaliknya, saya menggunakan get_sub_field('venue_title') dan ia berfungsi. Terima kasih atas bantuan ini

Ini adalah jawapan yang betul untuk ancaman ini dan perlu dibenderakan

Boleh jadi ruang itu bukan angkasa tetapi beberapa bentuk ruang putih yang lain.

Anda mungkin mahu mencuba:

$classname = preg_replace('/\s+/', '', $fieldname);
Salin selepas log masuk

Dari sini.

Cuba gantikan ruang mendatar dengan h, ini akan mengekalkan baris baharu jika perlu.

$fieldname ="I  am  21  Years  Old";
$classname = str_replace(' ', '', $fieldname);
echo $classname;
?>
Salin selepas log masuk

Ini berfungsi dengan sempurna.

Semak nilai pulangan melalui fungsi ini: the_sub_field('venue_title');

Saya rasa masalahnya ialah rentetan itu tidak dianggap sebagai rentetan. Ia memerlukan " di kedua-dua belah pihak. Bagaimanakah anda melakukan ini dalam PHP? Contohnya $fieldname="'".the_sub_field('venue_title')."'";

Gunakan "".the_sub_field('venue_title' ) '). "or" the_sub_field('venue_title') "

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apa yang perlu dilakukan jika ruang tidak boleh dialih keluar dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
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