এটি এক্সপথ 1.0 এর জন্য। যদি আপনার পরিবেশ এক্সপথ ২.০ সমর্থন করে তবে এখানে দেখুন ।
হ্যাঁ. সম্ভব, তবে সুন্দর নয়।
/html/body//text()[
contains(
translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),
'test'
)
]
এটি অনুসন্ধানের স্ট্রিংয়ের জন্য কাজ করবে যেখানে বর্ণমালা আগে থেকেই পরিচিত। আপনি প্রত্যাশিত যে কোনও বর্ণিত অক্ষর যুক্ত করুন।
যদি আপনি পারেন তবে পাঠ্যটি চিহ্নিত করুন যা আপনার আগ্রহের সাথে অন্য কোনও মাধ্যম যেমন এটিএমএলটি <span>
তৈরির সময় নির্দিষ্ট শ্রেণিযুক্ত একটিতে এটি বন্ধ করে দেওয়া । উপাদান পাঠ্যের সাবস্ট্রিংয়ের চেয়ে এক্সপথ দিয়ে এই জাতীয় জিনিসগুলি সনাক্ত করা অনেক সহজ।
যদি এটি কোনও বিকল্প না হয় তবে আপনি জাভাস্ক্রিপ্ট (বা অন্য কোনও হোস্ট ভাষা যা আপনি এক্সপাথ চালাতে ব্যবহার করছেন) আপনাকে গতিশীল এক্সপাথ এক্সপ্রেশন তৈরি করতে সহায়তা করতে পারেন:
function xpathPrepare(xpath, searchString) {
return xpath.replace("$u", searchString.toUpperCase())
.replace("$l", searchString.toLowerCase())
.replace("$s", searchString.toLowerCase());
}
xp = xpathPrepare("//text()[contains(translate(., '$u', '$l'), '$s')]", "Test");
( @ ক্যারিলপলিশচুকের উত্তরের টুপি - অবশ্যই আপনি কেবল সেই অক্ষরগুলি অনুবাদ করতে হবে যা আপনি প্রকৃতপক্ষে অনুসন্ধান করছেন))
এই পদ্ধতির বর্ণমালার পূর্ব জ্ঞানের প্রয়োজন ছাড়াই যে কোনও অনুসন্ধানের স্ট্রিংয়ের জন্য কাজ করবে, এটি একটি বড় প্লাস।
উপরের দুটি পদ্ধতিই ব্যর্থ হয় যখন অনুসন্ধানের স্ট্রিংগুলিতে একক উদ্ধৃতি থাকতে পারে, সেক্ষেত্রে জিনিসগুলি আরও জটিল হয় ।