Hướng dẫn remove single quotes from string php - xóa dấu ngoặc đơn khỏi chuỗi php

Tôi có một biểu mẫu HTML mà người dùng có thể nhập văn bản vào trường title, sau đó tôi có PHP tạo tệp HTML có tên là

$FileName = preg_replace["/'/", '', $UserInput]; 
0

Vấn đề của tôi là người dùng có thể nhập các không gian và dấu nháy đơn vào trường tiêu đề không thể được sử dụng trong tên tệp HTML. Tôi đã thay thế các không gian bằng dấu gạch dưới bằng cách sử dụng:

$FileName = str_replace[" ", "_", $UserInput];

Tuy nhiên, tôi dường như không thể loại bỏ các trích dẫn đơn? Tôi đã thử sử dụng:

$FileName = preg_replace["/'/", '', $UserInput]; 

Nhưng điều này đã lấy

$FileName = preg_replace["/'/", '', $UserInput]; 
1 và biến nó thành
$FileName = preg_replace["/'/", '', $UserInput]; 
2.

Mark Elliot

73.4K21 Huy hiệu vàng140 Huy hiệu bạc159 Huy hiệu đồng21 gold badges140 silver badges159 bronze badges

Hỏi ngày 11 tháng 10 năm 2010 lúc 2:41Oct 11, 2010 at 2:41

1

Sử dụng phương thức str_replace hiện tại của bạn:

$FileName = str_replace["'", "", $UserInput];

Mặc dù rất khó để xem, đối số đầu tiên là một trích dẫn kép theo sau là một trích dẫn duy nhất theo sau là một trích dẫn kép. Đối số thứ hai là hai trích dẫn kép không có gì ở giữa.

Với str_replace, bạn thậm chí có thể có một loạt các chuỗi bạn muốn loại bỏ hoàn toàn:

$remove[] = "'";
$remove[] = '"';
$remove[] = "-"; // just as another example

$FileName = str_replace[ $remove, "", $UserInput ];

Đã trả lời ngày 11 tháng 10 năm 2010 lúc 2:44Oct 11, 2010 at 2:44

Hookedonwinterhookedonwinterhookedonwinter

12.3k18 Huy hiệu vàng59 Huy hiệu bạc74 Huy hiệu đồng18 gold badges59 silver badges74 bronze badges

Bạn có thể thay thế trong HTML Enteritiy:

$FileName = preg_replace["/'/", "\'", $UserInput];

Ông Polywhirl

37.5K12 Huy hiệu vàng81 Huy hiệu bạc127 Huy hiệu đồng12 gold badges81 silver badges127 bronze badges

Đã trả lời ngày 11 tháng 10 năm 2010 lúc 2:47Oct 11, 2010 at 2:47

Gilles Quenotgilles QuenotGilles Quenot

159K37 Huy hiệu vàng214 Huy hiệu bạc212 Huy hiệu Đồng37 gold badges214 silver badges212 bronze badges

Bạn cũng có thể hạn chế hơn trong việc loại bỏ các ký tự không được phép. Regex sau đây sẽ xóa tất cả các ký tự không phải là chữ cái, chữ số hoặc dấu gạch dưới:

$FileName = preg_replace['/[^\w]/', '', $UserInput];

Bạn có thể muốn làm điều này để đảm bảo khả năng tương thích tối đa cho tên tệp trên các hệ điều hành khác nhau.

Đã trả lời ngày 11 tháng 10 năm 2010 lúc 4:18Oct 11, 2010 at 4:18

JeremyjeremyJeremy

2.6311 Huy hiệu vàng22 Huy hiệu bạc28 Huy hiệu đồng1 gold badge22 silver badges28 bronze badges

$replace_str = array['"', "'", ","];
$FileName = str_replace[$replace_str, "", $UserInput];

Machavity ♦

30.2k26 Huy hiệu vàng88 Huy hiệu bạc99 Huy hiệu đồng26 gold badges88 silver badges99 bronze badges

Đã trả lời ngày 23 tháng 1 năm 2014 lúc 2:49Jan 23, 2014 at 2:49

NeoneoNeo

Huy hiệu bằng đồng 1131 Bạc71 silver badge7 bronze badges

1

Hãy thử cái này. Bạn có thể tước chỉ

$FileName = preg_replace["/'/", '', $UserInput]; 
3 và
$FileName = preg_replace["/'/", '', $UserInput]; 
4 với:

$FileName = str_replace[array['\'', '"'], '', $UserInput]; 

Đã trả lời ngày 20 tháng 2 năm 2017 lúc 15:59Feb 20, 2017 at 15:59

FaisalfaisalFaisal

4.4512 Huy hiệu vàng39 Huy hiệu bạc49 Huy hiệu đồng2 gold badges39 silver badges49 bronze badges

Tôi đã sử dụng hàm này htmlspecialchars cho các thuộc tính alt trong hình ảnh

Đã trả lời ngày 25 tháng 2 năm 2014 lúc 1:48Feb 25, 2014 at 1:48

IsaiasMacisaiasMacisaiasmac

3163 Huy hiệu bạc14 Huy hiệu Đồng3 silver badges14 bronze badges

$test = "{'employees':[{'firstName':'John', 'lastName':'Doe'},{'firstName':'John', 'lastName':'Doe'}]}" ; 
$test = str_replace["'", '"', $test];
echo   $test;
$jtest = json_decode[$test,true];
var_dump[$jtest];

Đã trả lời ngày 26 tháng 5 năm 2016 lúc 10:08May 26, 2016 at 10:08

Milind Moreyindind MoreyMilind Morey

2.05419 huy hiệu bạc15 huy hiệu đồng19 silver badges15 bronze badges

Làm thế nào để xóa trích dẫn từ một chuỗi trong PHP?

Hãy thử điều này: str_replace ['"'," ", $ String]; str_replace [" '"str_replace['"', "", $string]; str_replace["'", "", $string]; Otherwise, go for some regex, this will work for html quotes for example: preg_replace["/

Làm thế nào loại bỏ các trích dẫn đơn và trích dẫn kép khỏi chuỗi trong PHP?

Sử dụng str.strip [chars] trên str với ký tự trích dẫn '"' làm ký tự để xóa trích dẫn từ các đầu của chuỗi. strip[chars] on str with the quote character '"' as chars to remove quotes from the ends of the string.

Làm thế nào để xử lý một trích dẫn trong PHP?

Trích dẫn đơn ¶ Cách đơn giản nhất để chỉ định một chuỗi là đặt nó trong các trích dẫn đơn [ký tự '].Để chỉ định một trích dẫn đơn theo nghĩa đen, hãy thoát nó bằng một dấu gạch chéo ngược [\].Để chỉ định một dấu gạch chéo ngược theo nghĩa đen, nhân đôi nó [\\].To specify a literal single quote, escape it with a backslash [ \ ]. To specify a literal backslash, double it [ \\ ].

Bài Viết Liên Quan

Chủ Đề