Sử dụng phương pháp String.replaceAll[]
để loại bỏ tất cả các dấu ngoặc kép khỏi một chuỗi, e. g. str.replaceAll['"', '']
. Phương thức replace[]
sẽ trả về một chuỗi mới đã loại bỏ tất cả các dấu ngoặc kép
Chúng tôi đã chuyển các tham số sau cho Chuỗi. phương pháp thay thế tất cả
- một chuỗi con chúng tôi muốn khớp trong chuỗi. Trong trường hợp của chúng tôi, một chuỗi chứa dấu ngoặc kép
- Sự thay thế cho mỗi trận đấu. Chúng tôi cần xóa từng dấu ngoặc kép, vì vậy chúng tôi thay thế dấu ngoặc kép bằng các chuỗi rỗng
Phương thức replaceAll[]
không thay đổi chuỗi gốc. Nó trả về một chuỗi mới với tất cả các kết quả khớp được thay thế. Các chuỗi là bất biến trong JavaScript
Ngoài ra, bạn có thể sử dụng phương pháp replace[]
Để xóa dấu ngoặc kép khỏi một chuỗi
- Gọi phương thức
replace[]
trên chuỗi - Phương thức
if[empty[$ptitle]]{ $description = addslashes[$this->description]; } else { $description = addslashes[$ptitle] . ' - ' . addslashes[$this->description];
0 sẽ thay thế mỗi lần xuất hiện của một trích dẫn kép bằng một chuỗi rỗng - Phương thức
if[empty[$ptitle]]{ $description = addslashes[$this->description]; } else { $description = addslashes[$ptitle] . ' - ' . addslashes[$this->description];
0 sẽ trả về một chuỗi mới đã loại bỏ tất cả các dấu ngoặc kép
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 str.replaceAll['"', '']
2 và str.replaceAll['"', '']
3
Để xóa dấu ngoặc kép khỏi một chuỗi
- Sử dụng phương pháp
str.replaceAll['"', '']
4 để tách chuỗi trên mỗi trích dẫn kép - Sử dụng phương thức
str.replaceAll['"', '']
3 để nối mảng các chuỗi - Chuỗi mới sẽ không chứa bất kỳ dấu ngoặc kép nào
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
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
sasa
Đăng ngày 18 tháng 9 năm 2007
sasa
- cựu nhân viên
- 2. 8k
- Địa điểm. Hrvatska
- Đăng lại
Đăng ngày 18 tháng 9 năm 2007
thay đổi $description = '$ptitle - $this->description"; thành $description = "$ptitle - $this->description";
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
jwhite68
Đăng ngày 18 tháng 9 năm 2007
jwhite68
- Các thành viên
- 168
- Địa điểm. Bulgari
- Tác giả
- Đăng lại
Đă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
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
danltn
Đăng ngày 18 tháng 9 năm 2007
danltn
- Các thành viên
- 14
- Đăng lại
Đăng ngày 18 tháng 9 năm 2007
Tôi chỉ cần một chức năng để loại bỏ dấu ngoặc kép và dấu ngoặc đơn
str_replace sẽ không làm điều này?
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
sasa
Đăng ngày 18 tháng 9 năm 2007
sasa
- cựu nhân viên
- 2. 8k
- Địa điểm. Hrvatska
- Đăng lại
Đă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];
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
jwhite68
Đăng ngày 18 tháng 9 năm 2007
jwhite68
- Các thành viên
- 168
- Địa điểm. Bulgari
- Tác giả
- Đăng lại
Đă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ó
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
jwhite68
Đăng ngày 18 tháng 9 năm 2007
jwhite68
- Các thành viên
- 168
- Địa điểm. Bulgari
- Tác giả
- Đăng lại
Đă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 đỏ