Làm cách nào để loại bỏ một trích dẫn trong php?
Sử dụng phương pháp Show Chúng tôi đã chuyển các tham số sau cho Chuỗi. phương pháp thay thế tất cả
Phương thức Ngoài ra, bạn có thể sử dụng phương pháp Để xóa dấu ngoặc kép khỏi một chuỗi
Tham số đầu tiên chúng tôi chuyển đến Chuỗi. phương thức thay thế là một biểu thức chính quy mà chúng tôi muốn khớp trong chuỗi Hai dấu gạch chéo về phía trước if(empty($ptitle)){ $description = addslashes($this->description); } else { $description = addslashes($ptitle) . ' - ' . addslashes($this->description);2 đánh dấu phần đầu và phần cuối của biểu thức chính quy Chúng tôi sử dụng cờ if(empty($ptitle)){ $description = addslashes($this->description); } else { $description = addslashes($ptitle) . ' - ' . addslashes($this->description);3 (toàn cầu) vì chúng tôi muốn so khớp tất cả các lần xuất hiện của một trích dẫn kép trong chuỗi chứ không chỉ lần xuất hiện đầu tiên Nếu bạn cần trợ giúp để đọc một biểu thức chính quy, hãy xem trang phục regex này của MDN Tham số thứ hai mà chúng tôi truyền cho phương thức if(empty($ptitle)){ $description = addslashes($this->description); } else { $description = addslashes($ptitle) . ' - ' . addslashes($this->description);0 là một chuỗi rỗng vì chúng tôi muốn xóa tất cả các dấu ngoặc kép khỏi chuỗi Phương thức if(empty($ptitle)){ $description = addslashes($this->description); } else { $description = addslashes($ptitle) . ' - ' . addslashes($this->description);0 không thay đổi chuỗi ban đầu, nó trả về một chuỗi mới Ngoài ra, bạn có thể sử dụng các phương pháp Để xóa dấu ngoặc kép khỏi một chuỗi
chuỗi. phương thức split chia chuỗi thành một mảng các chuỗi con dựa trên dấu tách được cung cấp Tôi đã sử dụng một lớp gọi là clsMetaContent. php, như được cung cấp trong cuốn sách Tạo trang web tương tác bằng PHP và Dịch vụ web của Eric Rosebrock - người mà tôi hiểu là nhà phát triển chính của trang web này
Trong khi sử dụng lớp này với ứng dụng của tôi - tôi thấy có vấn đề trong việc gán mô tả cho phần mô tả của thẻ meta
Mã trong lớp trông như thế này
// Formulate the description for each page. if(empty($ptitle)){ $description = $this->description; } else { $description = '$ptitle - $this->description";
Tôi nhận thấy rằng mô tả của tôi có thể chứa dấu ngoặc đơn và/hoặc dấu ngoặc kép. Điều này gây ra sự cố với việc gán thẻ meta cho mô tả. Điều xảy ra là, do lỗi ở định dạng của mô tả thẻ meta, nó xuất lại nội dung của mô tả ở đầu trang web của tôi, thay vì giữ nó trong phần gán thẻ meta
Tôi nghĩ rằng tôi chỉ cần một chức năng để loại bỏ các dấu ngoặc kép và dấu ngoặc đơn - nhưng không thể tìm thấy bất kỳ dấu ngoặc kép nào Có ai có lời khuyên nào không?
Cảm ơn trước
Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn sasaĐăng ngày 18 tháng 9 năm 2007 sasa
Đăng ngày 18 tháng 9 năm 2007 thay đổi $description = '$ptitle - $this->description"; thành $description = "$ptitle - $this->description";
Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn jwhite68Đăng ngày 18 tháng 9 năm 2007 jwhite68
Đăng ngày 18 tháng 9 năm 2007 Đó là lỗi của tôi ngay từ đầu, vì tôi đang 'chơi' với các trích dẫn trong bài tập này Ban đầu nó có dấu ngoặc kép như bạn đã chỉ ra và đây là lúc sự cố xảy ra
Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn danltnĐăng ngày 18 tháng 9 năm 2007 danltn
Đăng ngày 18 tháng 9 năm 2007
str_replace sẽ không làm điều này?
Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn sasaĐăng ngày 18 tháng 9 năm 2007 sasa
Đăng ngày 18 tháng 9 năm 2007 Được, thử đi if(empty($ptitle)){ $description = addslashes($this->description); } else { $description = addslashes($ptitle) . ' - ' . addslashes($this->description);
Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn jwhite68Đăng ngày 18 tháng 9 năm 2007 jwhite68
Đăng ngày 18 tháng 9 năm 2007 Tôi đã thử điều này mà không thành công
// Formulate the description for each page. if(empty($ptitle)){ $description = $this->description; } else { $description = "$ptitle - $this->description"; } $description = str_replace('"', '\"', $description); $description = str_replace("'", "\'", $description);
Cố gắng thay thế trích dẫn kép trong str_replace đầu tiên và thay thế trích dẫn đơn trong lần thứ hai. I E. thay thế bằng \ để nó thoát ra, thay vì xóa nó
Liên kết để bình luậnChia sẻ trên các trang web khácNhiều tùy chọn chia sẻ hơn jwhite68Đăng ngày 18 tháng 9 năm 2007 jwhite68
Đăng ngày 18 tháng 9 năm 2007 Xin lỗi, đã đăng điều đó trong khi bạn đăng sasa đề xuất của mình. Tôi đã triển khai đề xuất của bạn ngay bây giờ và nó đã xóa dấu gạch chéo, nhưng tôi vẫn gặp lỗi với mô tả meta. Điểm nổi bật màu đỏ (là lỗi) trong Firefox. Đây là những gì đang được chỉ định
Không chắc đó có phải là gạch đầu dòng gây ra sự cố với nó không. Nó làm nổi bật nội dung cho đến các khóa học của người chơi Gary bằng màu đỏ |