html ಟ್ಯಾಗ್‌ಗಳ Php ಶುಚಿಗೊಳಿಸುವಿಕೆ. PHP: ಪಠ್ಯದಿಂದ HTML ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು ಹೇಗೆ? html ಟ್ಯಾಗ್‌ಗಳಿಂದ ಪಠ್ಯದ ಸಂಪೂರ್ಣ ತೆರವುಗೊಳಿಸುವಿಕೆ

ಒಳಬರುವ ಡೇಟಾವನ್ನು ಮೌಲ್ಯೀಕರಿಸುವುದು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದು ಸಾಮಾನ್ಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕಾರ್ಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. PHP ಭಾಷೆಯನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಪಠ್ಯದಿಂದ HTML ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು ಇಲ್ಲಿ ಪ್ರಮುಖ ವಿಷಯವಾಗಿದೆ, ಏಕೆಂದರೆ ಅವು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಚುಚ್ಚುಮದ್ದುಗಳಿಗೆ ಹೆಚ್ಚು ಒಳಗಾಗುತ್ತವೆ. ಈ ಲೇಖನದಲ್ಲಿ, ನಾನು ಹಳೆಯ stip_tags() ಮತ್ತು ಅದರ ವೈಶಿಷ್ಟ್ಯಗಳ ಬಗ್ಗೆ ನಿಮಗೆ ನೆನಪಿಸಲು ಬಯಸುತ್ತೇನೆ, ಜೊತೆಗೆ ವಿಭಾಗೀಯ HTML ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಪರಿಹಾರಗಳನ್ನು ಮತ್ತು ಅದರೊಂದಿಗೆ ಹೋಗಲು ಒಂದೆರಡು ಹೆಚ್ಚು ಉಪಯುಕ್ತ ಬೋನಸ್‌ಗಳನ್ನು ನೀಡುತ್ತದೆ.

ಆದ್ದರಿಂದ. ಪಠ್ಯದಿಂದ HTML ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ನಮ್ಮ ಮುಖ್ಯ ಸಾಧನವೆಂದರೆ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್() ಕಾರ್ಯ. ನಾವು ಅವಳಿಗೆ ಹೇಳುತ್ತೇವೆ ಸ್ಟ್ರಿಂಗ್ಮೌಲ್ಯ, ಮತ್ತು ಇದು ಅದರಿಂದ HTML ಮತ್ತು PHP ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಉದಾಹರಣೆಗೆ:

$s = "

ಪ್ಯಾರಾಗ್ರಾಫ್.

ಇನ್ನಷ್ಟು ಪಠ್ಯ.";
ಎಕೋ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು($s);

ಈ ಉದಾಹರಣೆಯು ಸಾಲನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡುತ್ತದೆ:

ಪ್ಯಾರಾಗ್ರಾಫ್. ಇನ್ನಷ್ಟು ಪಠ್ಯ.

ಕಾರ್ಯವು ಎರಡನೇ (ಐಚ್ಛಿಕ, ಆದರೆ ಉಪಯುಕ್ತ) ನಿಯತಾಂಕವನ್ನು ಸಹ ಹೊಂದಿದೆ ಎಂಬುದು ಇಲ್ಲಿ ಗಮನಾರ್ಹವಾಗಿದೆ, ಅದರ ಮೌಲ್ಯವು ಅನುಮತಿಸಲಾದ HTML ಟ್ಯಾಗ್‌ಗಳ ಪಟ್ಟಿಯೊಂದಿಗೆ ಸ್ಟ್ರಿಂಗ್ ಆಗಿದೆ, ಉದಾಹರಣೆಗೆ:

$s = "

ಪ್ಯಾರಾಗ್ರಾಫ್.

ಇನ್ನಷ್ಟು ಪಠ್ಯ.";
ಎಕೋ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು($s, "

ಈ ಉದಾಹರಣೆಯು ಸಾಲನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡುತ್ತದೆ:

ಪ್ಯಾರಾಗ್ರಾಫ್.

ಇನ್ನಷ್ಟು ಪಠ್ಯ.

ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ಇದು ತುಂಬಾ ಅನುಕೂಲಕರವಾಗಿದೆ. ಆದಾಗ್ಯೂ, ಇದು ಒಂದು ಪ್ರಮುಖ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುವುದಿಲ್ಲ - ವಿಭಾಗೀಯ HTML ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು, ಉದಾಹರಣೆಗೆ: ಸ್ಕ್ರಿಪ್ಟ್, ನೋಸ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ಶೈಲಿ - ಇವುಗಳು ಹೆಚ್ಚು ಸಾಮಾನ್ಯವಾಗಿದೆ. ಅಂತಹ ವಿಭಾಗದ ಟ್ಯಾಗ್‌ಗಳನ್ನು ನಾನು ಯಾವಾಗ ತೆಗೆದುಹಾಕಬೇಕು, ಹಾಗೆಯೇ "ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ ಆಯ್ಕೆಗಳು< » и заканчивающиеся символом « >", ನಾನು ಈ ಕೆಳಗಿನ PHP ಕೋಡ್ ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ:

$p = ರಚನೆ (
""]*?>.*?"si",
""]*?>.*?"si",
""]*?>.*?"si",
"""ಸಿ",
);
$r = ವ್ಯೂಹ(" "," "," "," ");
$s = preg_replace($p, $r, $s);

ಇಲ್ಲಿ $p ವೇರಿಯೇಬಲ್ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ಹೊಂದಿದೆ, ಮತ್ತು $r ಎಂಬುದು ಅವುಗಳ ಅನುಗುಣವಾದ ಬದಲಿಗಳ ಒಂದು ಶ್ರೇಣಿಯಾಗಿದೆ (ನಾನು ಸ್ಪೇಸ್‌ಗಳನ್ನು ಬಳಸುತ್ತೇನೆ). ಸಾಲಿನಲ್ಲಿ ಬದಲಿ ಮಾಡುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ, ಮತ್ತು ನಾವು ಪಠ್ಯದಿಂದ HTML ಕಸವನ್ನು ತೆಗೆದುಹಾಕುತ್ತೇವೆ.

ನಿಸ್ಸಂಶಯವಾಗಿ, ಮೇಲಿನ ಎರಡು ಪರಿಹಾರಗಳನ್ನು ಸಂಯೋಜಿಸಬಹುದು. ಆರಂಭದಲ್ಲಿ ನಾನು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಮೂಲಕ ಬದಲಿಯನ್ನು ಬಳಸುತ್ತೇನೆ, ಮತ್ತು ನಂತರ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್() ಮತ್ತು ನಾನು ನನ್ನ ಸ್ವಂತ nohtml() ಕಾರ್ಯವನ್ನು ಪಡೆಯುತ್ತೇನೆ.

ಅಂತಿಮವಾಗಿ, ನಾನು ನಿಮಗೆ ಇನ್ನೂ ಕೆಲವು ಉಪಯುಕ್ತ ಪರಿಹಾರಗಳನ್ನು ನೀಡಲು ಬಯಸುತ್ತೇನೆ. ಆದ್ದರಿಂದ ಪಠ್ಯದಲ್ಲಿ ಟ್ಯಾಬ್ ಅನ್ನು ಜಾಗದೊಂದಿಗೆ ಬದಲಾಯಿಸುವುದು ಉತ್ತಮವಾಗಿದೆ, ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಎರಡನ್ನೂ ಅರ್ಥೈಸುವ ಫಲಿತಾಂಶವು ಒಂದೇ ಆಗಿರುತ್ತದೆ ಮತ್ತು ಕಡಿಮೆ ಜಗಳವಿರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ:

$s = str_replace("\t", " ", $s);

ನಿಮಗೆ ಲೈನ್ ಬ್ರೇಕ್‌ಗಳ ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೆ, ಅವುಗಳನ್ನು ಸ್ಥಳಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ:

$s = str_replace(array("\n", "\r"), " ", $s);

ಸರಳ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಹೆಚ್ಚುವರಿ ಸ್ಥಳಗಳನ್ನು ತೊಡೆದುಹಾಕಬಹುದು, ಉದಾಹರಣೆಗೆ:

$s = preg_replace("/\s+/", " ", $s);
$s = ಟ್ರಿಮ್($s); // ತಪ್ಪಾಗುವುದಿಲ್ಲ

ನನ್ನ ಬಳಿ ಇದೆ ಅಷ್ಟೆ. ನಿಮ್ಮ ಗಮನಕ್ಕೆ ಧನ್ಯವಾದಗಳು. ಶುಭವಾಗಲಿ!

21:56 ಕ್ಕೆ ಸಂದೇಶವನ್ನು ಸಂಪಾದಿಸಿ

ಅನಗತ್ಯ ಟ್ಯಾಗ್‌ಗಳಿಂದ HTML ಅನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುವ ಕೆಲಸವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಪ್ರತಿಯೊಬ್ಬರೂ ಎದುರಿಸುತ್ತಾರೆ.

ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್() php ಕಾರ್ಯವನ್ನು ಬಳಸುವುದು ಮನಸ್ಸಿಗೆ ಬರುವ ಮೊದಲ ವಿಷಯವಾಗಿದೆ:
ಸ್ಟ್ರಿಂಗ್ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು (ಸ್ಟ್ರಿಂಗ್ str [, ಸ್ಟ್ರಿಂಗ್ ಅನುಮತಿಸುವ_ಟ್ಯಾಗ್‌ಗಳು])

ಕಾರ್ಯವು ಟ್ಯಾಗ್‌ಗಳ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ತೆಗೆದುಹಾಕಬೇಕಾದ ಅಗತ್ಯವಿಲ್ಲದ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಅನುಮತಿಸುವ_ಟ್ಯಾಗ್‌ಗಳ ಆರ್ಗ್ಯುಮೆಂಟ್ ಆಗಿ ರವಾನಿಸಲಾಗಿದೆ. ಕಾರ್ಯವು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ, ಅದನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಹೇಳುವುದಾದರೆ, ಇದು ಸೂಕ್ತವಲ್ಲ. ದಾರಿಯುದ್ದಕ್ಕೂ, ಕೋಡ್‌ನ ಸಿಂಧುತ್ವಕ್ಕಾಗಿ ಯಾವುದೇ ಪರಿಶೀಲನೆ ಇಲ್ಲ, ಇದು ಟ್ಯಾಗ್‌ಗಳಲ್ಲಿ ಸೇರಿಸದ ಪಠ್ಯವನ್ನು ಅಳಿಸಬಹುದು.
ಪೂರ್ವಭಾವಿ ಡೆವಲಪರ್‌ಗಳು ಸುಮ್ಮನೆ ಕೂರಲಿಲ್ಲ - ಸುಧಾರಿತ ಕಾರ್ಯಗಳನ್ನು ಆನ್‌ಲೈನ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು. ಉತ್ತಮ ಉದಾಹರಣೆ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್_ಸ್ಮಾರ್ಟ್.

ಸಿದ್ಧ ಪರಿಹಾರಗಳನ್ನು ಬಳಸುವುದು ಅಥವಾ ಬಳಸದಿರುವುದು ಪ್ರೋಗ್ರಾಮರ್ನ ವೈಯಕ್ತಿಕ ಆಯ್ಕೆಯಾಗಿದೆ. ಹೆಚ್ಚಾಗಿ ನನಗೆ "ಸಾರ್ವತ್ರಿಕ" ಹ್ಯಾಂಡ್ಲರ್ ಅಗತ್ಯವಿಲ್ಲ ಮತ್ತು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳೊಂದಿಗೆ ಕೋಡ್ ಅನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಲು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿದೆ ಎಂದು ಅದು ಸಂಭವಿಸುತ್ತದೆ.

ಒಂದು ಅಥವಾ ಇನ್ನೊಂದು ಸಂಸ್ಕರಣಾ ವಿಧಾನದ ಆಯ್ಕೆಯನ್ನು ಯಾವುದು ನಿರ್ಧರಿಸುತ್ತದೆ?

1. ಮೂಲ ವಸ್ತು ಮತ್ತು ಅದರ ವಿಶ್ಲೇಷಣೆಯ ಸಂಕೀರ್ಣತೆಯಿಂದ.
ನೀವು ಯಾವುದೇ ಅಲಂಕಾರಿಕ ಲೇಔಟ್ ಇಲ್ಲದೆ ಸರಳವಾದ htmp ಪಠ್ಯಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬೇಕಾದರೆ, ದಿನದಂತೆ ಸ್ಪಷ್ಟವಾಗಿದೆ :), ನಂತರ ನೀವು ಪ್ರಮಾಣಿತ ಕಾರ್ಯಗಳನ್ನು ಬಳಸಬಹುದು.
ಪಠ್ಯಗಳು ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಅದನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು, ನಂತರ ವಿಶೇಷ ನಿರ್ವಾಹಕರನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ. ಕೆಲವರು ಸರಳವಾಗಿ str_replace ಅನ್ನು ಬಳಸಬಹುದು. ಉದಾಹರಣೆಗೆ:

$s = ವ್ಯೂಹ("’" => "'", // ರೈಟ್-ಅಪಾಸ್ಟ್ರಫಿ (ಉದಾ: I"m ನಲ್ಲಿ)
"“" => """, // ಆರಂಭಿಕ ಮಾತಿನ ಗುರುತು
"–" => "—", // ಲಾಂಗ್ ಡ್ಯಾಶ್
"â€" => """, // ಮುಕ್ತಾಯದ ಮಾತಿನ ಗುರುತು
"Ã " => "é", // ಮತ್ತು ತೀವ್ರ ಉಚ್ಚಾರಣೆ
chr(226) chr(128) chr(153) => "'", // ರೈಟ್-ಅಪಾಸ್ಟ್ರಫಿ ಮತ್ತೆ
chr(226) chr(128) chr(147) => "—", // ಲಾಂಗ್ ಡ್ಯಾಶ್ ಮತ್ತೆ
chr(226) chr(128) chr(156) => """, // ಆರಂಭಿಕ ಮಾತಿನ ಗುರುತು
chr(226) chr(128) chr(148) => "—", // M ಡ್ಯಾಶ್ ಮತ್ತೆ
chr(226) chr(128) => """, // ಬಲ ಮಾತಿನ ಗುರುತು
chr(195) chr(169) => "é", // e acute again
);

foreach ($s $ಸೂಜಿ => $replace)
{
$htmlText = str_replace($ಸೂಜಿ, $replace, $htmlText);
}

ಇತರರು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಆಧರಿಸಿರಬಹುದು. ಉದಾಹರಣೆಯಾಗಿ:

ಫಂಕ್ಷನ್ getTextFromHTML($htmlText)
{
$search = ಅರೇ (""]*?>.*?"si", // ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ತೆಗೆದುಹಾಕಿ
""]*?>.*?"si", // ಶೈಲಿಗಳನ್ನು ತೆಗೆದುಹಾಕಿ
""]*?>.*?"si", // xml ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ
"""si", // HTML-ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ
""([\r\n])[\s] "", // ಸ್ಪೇಸ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ
""&(quot|#34);"i", // HTML ವಿಶೇಷ ಅಕ್ಷರಗಳನ್ನು ಬದಲಾಯಿಸಿ
""&(amp|#38);"i",
""&(lt|#60);"i",
""&(gt|#62);"i",
""&(nbsp|#160);"i",
""&(iexcl|#161);"i",
""&(ಸೆಂಟ್|#162);"i",
""&(ಪೌಂಡ್|#163);"i",
""&(ನಕಲು|#169);"i",
""(\d);"e"); // php ಎಂದು ಬರೆಯಿರಿ

$replace = ವ್ಯೂಹ("",
"",
"",
"",
"\\1",
"\"",
"&",
"",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");

preg_replace ($search, $replace, $htmlText) ಹಿಂತಿರುಗಿ;
}
(ಅಂತಹ ಕ್ಷಣಗಳಲ್ಲಿ, ಅರೇಗಳೊಂದಿಗೆ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳಾಗಿ ಕೆಲಸ ಮಾಡಲು preg_replace ನ ಸಾಮರ್ಥ್ಯವು ಎಂದಿಗಿಂತಲೂ ಹೆಚ್ಚು ಆಹ್ಲಾದಕರವಾಗಿರುತ್ತದೆ). ಅಗತ್ಯವಿದ್ದರೆ, ನಿಮ್ಮ ಸ್ವಂತ ರೆಗ್ಯುಲರ್‌ಗಳೊಂದಿಗೆ ನೀವು ಶ್ರೇಣಿಯನ್ನು ಪೂರಕಗೊಳಿಸುತ್ತೀರಿ. ಉದಾಹರಣೆಗೆ, ಈ ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅವುಗಳನ್ನು ರಚಿಸುವಲ್ಲಿ ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬಹುದು. ಪ್ರಾರಂಭಿಕ ಡೆವಲಪರ್‌ಗಳು "HTML ಟ್ಯಾಗ್‌ಗಳ ಬಗ್ಗೆ ಎಲ್ಲಾ. 9 HTML ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು" ಲೇಖನವು ಉಪಯುಕ್ತವಾಗಬಹುದು. ಅಲ್ಲಿನ ಉದಾಹರಣೆಗಳನ್ನು ನೋಡಿ, ತರ್ಕವನ್ನು ವಿಶ್ಲೇಷಿಸಿ.

2. ಸಂಪುಟಗಳಿಂದ.
ಸಂಪುಟಗಳು ವಿಶ್ಲೇಷಣೆಯ ಸಂಕೀರ್ಣತೆಗೆ ನೇರವಾಗಿ ಸಂಬಂಧಿಸಿವೆ (ಹಿಂದಿನ ಪ್ಯಾರಾಗ್ರಾಫ್ನಿಂದ). ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಪಠ್ಯಗಳು, ಎಲ್ಲವನ್ನೂ ನಿಯಮಿತವಾಗಿ ಯೋಜಿಸಲು ಮತ್ತು ಸ್ವಚ್ಛಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವಾಗ, ನೀವು ಏನನ್ನಾದರೂ ಕಳೆದುಕೊಳ್ಳುವ ಸಾಧ್ಯತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, "ಬಹು-ಹಂತದ" ಶುಚಿಗೊಳಿಸುವ ವಿಧಾನವು ಸೂಕ್ತವಾಗಿದೆ. ಅಂದರೆ, ಅದನ್ನು ಮೊದಲು ಸ್ವಚ್ಛಗೊಳಿಸಿ, ಉದಾಹರಣೆಗೆ, ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್_ಸ್ಮಾರ್ಟ್ ಫಂಕ್ಷನ್‌ನೊಂದಿಗೆ (ನಾವು ಮೂಲ ಕೋಡ್ ಅನ್ನು ಅಳಿಸುವುದಿಲ್ಲ). ನಂತರ ನಾವು "ಅಸಂಗತತೆಗಳನ್ನು" ಗುರುತಿಸಲು ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಪಠ್ಯಗಳನ್ನು ಆಯ್ದವಾಗಿ ಪರಿಶೀಲಿಸುತ್ತೇವೆ. ಸರಿ, ನಾವು ನಿಯಮಿತ ನಿಯಮಗಳೊಂದಿಗೆ ವೈಪರೀತ್ಯಗಳನ್ನು "ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತೇವೆ".

3. ಪರಿಣಾಮವಾಗಿ ಏನನ್ನು ಪಡೆಯಬೇಕು.
ಸಂಸ್ಕರಣಾ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಪರಿಸ್ಥಿತಿಯನ್ನು ಅವಲಂಬಿಸಿ ವಿಭಿನ್ನ ರೀತಿಯಲ್ಲಿ ಸರಳಗೊಳಿಸಬಹುದು. ನನ್ನ ಹಿಂದಿನ ಲೇಖನವೊಂದರಲ್ಲಿ ನಾನು ವಿವರಿಸಿದ ಪ್ರಕರಣವು ಇದನ್ನು ಚೆನ್ನಾಗಿ ತೋರಿಸುತ್ತದೆ. ಡಿವಿಯಲ್ಲಿ ಪಠ್ಯವಿದೆ ಎಂದು ನಾನು ನಿಮಗೆ ನೆನಪಿಸುತ್ತೇನೆ, ಅದರ ಜೊತೆಗೆ, "ಬ್ರೆಡ್ ಕ್ರಂಬ್ಸ್", ಆಡ್ಸೆನ್ಸ್ ಜಾಹೀರಾತು ಮತ್ತು ಅಂತಹುದೇ ಲೇಖನಗಳ ಪಟ್ಟಿಯೊಂದಿಗೆ ಡಿವಿ ಕೂಡ ಇತ್ತು. ಲೇಖನಗಳ ಮಾದರಿಯನ್ನು ವಿಶ್ಲೇಷಿಸುವಾಗ, ಲೇಖನಗಳು ಚಿತ್ರಗಳನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ಸರಳವಾಗಿ ಪ್ಯಾರಾಗ್ರಾಫ್ಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ ಎಂದು ಕಂಡುಹಿಡಿಯಲಾಯಿತು. ಬಾಹ್ಯ ವಿಷಯಗಳಿಂದ "ಮುಖ್ಯ" ಡಿವಿ ಅನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸದಿರಲು, ನೀವು ಎಲ್ಲಾ ಪ್ಯಾರಾಗಳನ್ನು ಕಾಣಬಹುದು (ಸರಳ HTML DOM ಪಾರ್ಸರ್ನೊಂದಿಗೆ ಇದು ತುಂಬಾ ಸುಲಭ) ಮತ್ತು ಅವುಗಳ ವಿಷಯಗಳನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು. ಆದ್ದರಿಂದ ನೀವು ನಿಯಮಿತವಾದ ಶುಚಿಗೊಳಿಸುವ ದಿನಚರಿಗಳನ್ನು ಮಾಡುವ ಮೊದಲು, ಸ್ವಲ್ಪ ರಕ್ತದಿಂದ ನೀವು ಹೋಗಬಹುದೇ ಎಂದು ನೋಡಿ.

ಸಾಮಾನ್ಯವಾಗಿ, HTML ಕೋಡ್ ಅನ್ನು ಪಾರ್ಸಿಂಗ್ ಮಾಡುವ ಬೆಂಬಲಿಗರ ನಡುವೆ, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ಮತ್ತು ಪಾರ್ಸಿಂಗ್, ಇದು ಡಾಕ್ಯುಮೆಂಟ್‌ನ DOM ರಚನೆಯ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಆಧರಿಸಿದೆ, ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ನಿಜವಾದ ಫೈರ್‌ಫೈಟ್‌ಗಳು ಭುಗಿಲೆದ್ದಿವೆ. ಉದಾಹರಣೆಗೆ, ಓವರ್‌ಫ್ಲೋ ಮೇಲೆ. ಮೊದಲ ನೋಟದಲ್ಲೇ ಮುಗ್ಧ

ಸ್ಟ್ರಿಂಗ್‌ನಿಂದ ಎಲ್ಲಾ ಅಥವಾ ಕೇವಲ ಕೆಲವು html ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವ ಕಾರ್ಯವು ಆಗಾಗ್ಗೆ ಉದ್ಭವಿಸುತ್ತದೆ, ಅಲ್ಲಿ ಯಾವುದೇ ಪುಟ ಸಂದರ್ಶಕರಿಗೆ ಹೊಸ ಮಾಹಿತಿಯನ್ನು ಸೇರಿಸಲು ಅವಕಾಶವನ್ನು ಒದಗಿಸುವುದು ಅವಶ್ಯಕ. ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಉದಾಹರಣೆಯೆಂದರೆ ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿ ಅತಿಥಿ ಪುಸ್ತಕ ಅಥವಾ ಕಾಮೆಂಟ್ ಸಿಸ್ಟಮ್. ಈ ರೀತಿಯಲ್ಲಿ ಸೇರಿಸಲಾದ ಪಠ್ಯವು ಹಲವಾರು ವಿಭಿನ್ನ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು, ಪಠ್ಯವನ್ನು ನಕಲಿಸುವಾಗ ಆಕಸ್ಮಿಕವಾಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ಸಂದೇಶವನ್ನು ಹೇಗಾದರೂ "ಅತ್ಯಂತ ಮೂಲ" ಮಾಡಲು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಟ್ಯಾಗ್‌ಗಳಲ್ಲಿ ಸೈಟ್‌ಗೆ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಪರಿಚಯಿಸುವ ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರಯತ್ನಗಳು ಅಥವಾ ಅನಗತ್ಯ ಟ್ಯಾಗ್‌ಗಳೊಂದಿಗೆ ಪುಟದ ವಿನ್ಯಾಸವನ್ನು ಹಾಳು ಮಾಡುವ ಪ್ರಯತ್ನವನ್ನು ಗಮನಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ.

ಮೇಲಿನ ಯಾವುದೇ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಹೊಸ ಮಾಹಿತಿಯನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡುವ ಮೊದಲು ಅನಗತ್ಯ html ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆರವುಗೊಳಿಸುವ ಅವಶ್ಯಕತೆಯಿದೆ.

html ಟ್ಯಾಗ್‌ಗಳಿಂದ ಪಠ್ಯದ ಸಂಪೂರ್ಣ ತೆರವುಗೊಳಿಸುವಿಕೆ

ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಅಂತಹ ಕಾರ್ಯಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಆದರೆ ಈ ಲೇಖನದಲ್ಲಿ ನಾವು ಸರಳವಾದ ವಿಧಾನವನ್ನು ನೋಡುತ್ತೇವೆ - ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್ ಪಿಎಚ್ಪಿ ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು ಟ್ಯಾಗ್ಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದು. ಈ ಕಾರ್ಯವು ಪ್ಯಾರಾಮೀಟರ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸ್ಟ್ರಿಂಗ್‌ನಿಂದ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಸರಳವಾಗಿ ತೆಗೆದುಹಾಕುತ್ತದೆ.

$str_in = "

ನನ್ನ ಪಠ್ಯದಿಂದ ವಿವಿಧಟ್ಯಾಗ್ಗಳು.

" ;
$str_out = ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು($str_in);
ಪ್ರತಿಧ್ವನಿ $str_out;

ಈ ಪ್ರಕ್ರಿಯೆಯ ಪರಿಣಾಮವಾಗಿ, ನಾವು $str_out ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ ಟ್ಯಾಗ್‌ಗಳಿಲ್ಲದ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ:

ವಿವಿಧ ಟ್ಯಾಗ್‌ಗಳೊಂದಿಗೆ ನನ್ನ ಪಠ್ಯ.

* ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳ ಕಾರ್ಯವು ಟ್ಯಾಗ್‌ಗಳನ್ನು ಮಾತ್ರ ತೆಗೆದುಹಾಕುತ್ತದೆ, ಅವುಗಳ ವಿಷಯಗಳನ್ನು ತೆರೆಯುವ ಮತ್ತು ಮುಚ್ಚುವ ಟ್ಯಾಗ್‌ಗಳ ನಡುವೆ ಬಿಡುತ್ತದೆ ಎಂಬುದು ಗಮನಿಸಬೇಕಾದ ಸಂಗತಿ.

ಪಠ್ಯದಿಂದ ಪ್ರತ್ಯೇಕ html ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತಿದೆ

ಕೆಲವೊಮ್ಮೆ ನೀವು ಸ್ಟ್ರಿಂಗ್‌ನಿಂದ ಕೆಲವು ಟ್ಯಾಗ್‌ಗಳನ್ನು ಮಾತ್ರ ತೆಗೆದುಹಾಕಬೇಕಾಗುತ್ತದೆ. ಇಲ್ಲಿ ನಾವು ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳ ಕಾರ್ಯವನ್ನು ಸಹ ಬಳಸುತ್ತೇವೆ, ಆದರೆ ಈ ಸಮಯದಲ್ಲಿ ನಾವು ಎರಡನೇ (ಐಚ್ಛಿಕ) ನಿಯತಾಂಕವಾಗಿ ಉಳಿಸಬೇಕಾದ ಟ್ಯಾಗ್‌ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇವೆ.

ಉದಾಹರಣೆಗೆ, ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ, ನೀವು ಲಿಂಕ್‌ಗಳನ್ನು ಮಾತ್ರ ಬಿಡಬೇಕಾಗುತ್ತದೆ:

$str_in = "

ನನ್ನ ಪಠ್ಯದಿಂದ ವಿವಿಧಟ್ಯಾಗ್ಗಳು.

" ;
$str_out = ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು($str_in, " " );
ಪ್ರತಿಧ್ವನಿ $str_out;

$str_out ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ ಈ ಪ್ರಕ್ರಿಯೆಯ ಪರಿಣಾಮವಾಗಿ ನಾವು ಪಡೆಯುತ್ತೇವೆ:

ವಿವಿಧ ಟ್ಯಾಗ್‌ಗಳೊಂದಿಗೆ ನನ್ನ ಪಠ್ಯ.

ಈ ರೀತಿಯಾಗಿ, ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿ ಮಾನ್ಯವಾಗಿರುವ ಎಲ್ಲಾ ಟ್ಯಾಗ್‌ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು ಆದರೆ ಉಳಿದವುಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.


ಈ ಲೇಖನವು ಟ್ಯಾಗ್‌ಗಳ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ತೆರವುಗೊಳಿಸಲು ಸುಲಭವಾದ ಮಾರ್ಗವನ್ನು ಚರ್ಚಿಸುತ್ತದೆ. ನಾನು ಇತರ ಆಯ್ಕೆಗಳನ್ನು ಪರಿಗಣಿಸಿದಂತೆ, ನಾನು ಈ ಲೇಖನವನ್ನು ವಿಸ್ತರಿಸುತ್ತೇನೆ. ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ಅಥವಾ ಇಮೇಲ್ ಮೂಲಕ ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ನಿಮ್ಮ ಆಯ್ಕೆಗಳನ್ನು ನೀವು ಸೂಚಿಸಿದರೆ ನನಗೆ ಸಂತೋಷವಾಗುತ್ತದೆ.

ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನಲ್ಲಿ JavaScript ಅನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಸೈಟ್ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ದಯವಿಟ್ಟು JavaScript ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ!

ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು - ಸ್ಟ್ರಿಂಗ್ ವಿವರಣೆ ಸ್ಟ್ರಿಂಗ್ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳಿಂದ HTML ಮತ್ತು PHP ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ (ಸ್ಟ್ರಿಂಗ್ str [, ಸ್ಟ್ರಿಂಗ್ ಅನುಮತಿಸುವ_ಟ್ಯಾಗ್‌ಗಳು])

ಈ ಕಾರ್ಯವು HTML ಮತ್ತು PHP ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಿದ ಸ್ಟ್ರಿಂಗ್ str ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲು, fgetss() ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ಬಳಸಿದಂತೆಯೇ ಆಟೋಮ್ಯಾಟನ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ತೆಗೆದುಹಾಕಬಾರದ ಟ್ಯಾಗ್‌ಗಳನ್ನು ಸೂಚಿಸಲು ಐಚ್ಛಿಕ ಎರಡನೇ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು ಬಳಸಬಹುದು.

ಗಮನಿಸಿ: ಅನುಮತಿಸಬಹುದಾದ_ಟ್ಯಾಗ್‌ಗಳ ಆರ್ಗ್ಯುಮೆಂಟ್ ಅನ್ನು PHP 3.0.13 ಮತ್ತು PHP 4.0b3 ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ. PHP 4.3.0 ನಿಂದ HTML ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಸಹ ತೆಗೆದುಹಾಕಲಾಗಿದೆ.

ಗಮನ

ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್() HTML ಕೋಡ್‌ನ ಸರಿಯಾದತೆಯನ್ನು ಪರಿಶೀಲಿಸದ ಕಾರಣ, ಅಪೂರ್ಣ ಟ್ಯಾಗ್‌ಗಳು ಟ್ಯಾಗ್‌ಗಳ ಭಾಗವಲ್ಲದ ಪಠ್ಯವನ್ನು ತೆಗೆದುಹಾಕಲು ಕಾರಣವಾಗಬಹುದು.

ಉದಾಹರಣೆ 1. ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳನ್ನು ಬಳಸುವ ಉದಾಹರಣೆ() $text = "

ಪ್ಯಾರಾಗ್ರಾಫ್.

ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಪಠ್ಯ"; ಎಕೋ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು ($ ಪಠ್ಯ); ಪ್ರತಿಧ್ವನಿ "\n\n-------\n"; // ಅಳಿಸಬೇಡಿ

ಎಕೋ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು($ಟೆಕ್ಸ್ಟ್, "

"); // ಅನುಮತಿಸಿ ,, ಎಕೋ ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳು($ಟೆಕ್ಸ್ಟ್, " ");

ಈ ಉದಾಹರಣೆಯು ಔಟ್ಪುಟ್ ಮಾಡುತ್ತದೆ:

ಪ್ಯಾರಾಗ್ರಾಫ್. ಇನ್ನೂ ಕೆಲವು ಪಠ್ಯ -------

ಪ್ಯಾರಾಗ್ರಾಫ್.

ಇನ್ನೂ ಕೆಲವು ಪಠ್ಯ

ಗಮನ

ಶೈಲಿ ಮತ್ತು ಆನ್‌ಮೌಸ್‌ಓವರ್ ಸೇರಿದಂತೆ, ಅನುಮತಿಸಬಹುದಾದ_ಟ್ಯಾಗ್‌ಗಳ ಆರ್ಗ್ಯುಮೆಂಟ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಟ್ಯಾಗ್‌ಗಳ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಈ ಕಾರ್ಯವು ಬದಲಾಯಿಸುವುದಿಲ್ಲ.

PHP 5.0.0 ರಂತೆ, ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್ಸ್() ಬೈನರಿ ರೂಪದಲ್ಲಿ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸುರಕ್ಷಿತವಾಗಿದೆ.

ಈ ಕಾರ್ಯವು ಗಮನಾರ್ಹ ನ್ಯೂನತೆಯನ್ನು ಹೊಂದಿದೆ - ಇದು ಟ್ಯಾಗ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವಾಗ ಪದಗಳನ್ನು ಒಟ್ಟಿಗೆ ಅಂಟಿಸುತ್ತದೆ. ಇದರ ಜೊತೆಗೆ, ಕಾರ್ಯವು ದುರ್ಬಲತೆಗಳನ್ನು ಹೊಂದಿದೆ. ಸ್ಟ್ರಿಪ್_ಟ್ಯಾಗ್‌ಗಳಂತೆಯೇ ಪರ್ಯಾಯ ಕಾರ್ಯ:

ಕಾರ್ಯದ ವಿವರಣೆಯನ್ನು ಸಹ ನೋಡಿ