URL টি পিএইচপি সহ নির্দিষ্ট স্ট্রিং রয়েছে কিনা তা পরীক্ষা করুন


111

URL টিতে কিছু শব্দ উপস্থিত রয়েছে কিনা তা জানতে চাই।

উদাহরণস্বরূপ, যদি ওয়ার্ড কারটি ইউআরএলে থাকে তবে www.domain.com/car/ বা www.domain.com/car/audi/ এর মতো এটি 'গাড়ীর উপস্থিতি' প্রতিধ্বনিত হবে এবং যদি কিছু না থাকে তবে এটি 'গাড়ি নেই' প্রতিধ্বনিত হবে would ।



আপনি কেবল গাড়ি শব্দটি সন্ধান করছেন বা আপনি যদি গাড়ী বা গাড়িও প্রকার চান তবে এটিও নির্ভর করে। আপনার প্রাগ_ম্যাচ, স্ট্রপোস, বিস্ফোরিত এবং ইন_আরে / অ্যারে_সার্চ দরকার হতে পারে, সত্যই নির্ভর করে। আপনি যদি কিছু সাধারণ চান, তবে পরামর্শ হিসাবে কেবল স্ট্রপোস ব্যবহার করুন
ম্যাট

এই স্ট্যান্ডলোন লাইব্রেরিতেs($_SERVER['REQUEST_URI'])->contains('car') যেমন পাওয়া যায় আপনি তেমন সহায়ক হতে পারেন ।
কাওয়

ইউআরএলে "ভয় পেয়েছি" শব্দটি থাকলে কী হবে? সেই মুদ্রণটি কি "গাড়ীর অস্তিত্ব আছে"? যদি তা না হয় তবে এখানে বেশিরভাগ উত্তরই ভুল।
doug65536

উত্তর:


227

এরকম কিছু চেষ্টা করুন। প্রথম সারিতে আপনার ইউআরএল তৈরি করে এবং বাকি অংশে এটি "গাড়ী" শব্দটি অন্তর্ভুক্ত করে কিনা তা পরীক্ষা করে।

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (strpos($url,'car') !== false) {
    echo 'Car exists.';
} else {
    echo 'No cars.';
}

আমার প্রকল্পের জন্য পারফেক্ট! ধন্যবাদ!
ওয়েবদেবকভ

এটাই আমি খুঁজছিলাম পারফেক্ট, ধন্যবাদ
জুনেদফারুকুই

1
এটি একটি ভাল সমাধান তবে কেবল সতর্ক থাকুন যে এটি যে কোনও জায়গায় গাড়ি থাকা কোনও ইউআরএলের সাথে মেলে। উদাহরণস্বরূপ www.domain.com/car-pricingবা www.domain.com/carparksবৈধতা এবং আউটপুট হবে Car exists। হতে পারে এটি আপনার ক্ষেত্রে গুরুত্বপূর্ণ নয় তবে অন্যদের জন্য এটি প্রাসঙ্গিক হতে পারে!
জাভাকাদব্রা

ঠিক আমি মহান খুঁজছি!
বিঘ্নেশ কৃষ্ণমূর্তি

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; echo count(strpos($url,'category'));ইউআরএল বিদ্যমান 1কিনা তা নির্বিশেষে আমাকে দেয় categoryকোন ধারণা কেন?
Si8

66

আমি মনে করি সবচেয়ে সহজ উপায়:

if (strpos($_SERVER['REQUEST_URI'], "car") !== false){
// car found
}

পারফেক্ট ... এর মধ্যে "ইভেন্টস" এর সাথে কোনও ইউআরএল খুঁজে পেতে আমার উদাহরণস্বরূপ / বিজ্ঞাপন / পৃষ্ঠার নামটি মিলানো দরকার এবং এটি কার্যকর!
টিঙ্গো

আমি গত সপ্তাহে 4 টি বিভিন্ন প্রকল্পে এটি বেশ কয়েকবার ব্যবহার করেছি। সহজ। ধন্যবাদ।
পেগিউস

এটি সম্পূর্ণ ইউআরএল পরীক্ষা করে না; শুধু পথ। এটি স্কিম, ডোমেন, পোর্ট, ক্যোয়ারী প্যারামিটার বা খণ্ডগুলির বিরুদ্ধে পরীক্ষা করবে না।
kloddant





3

কটাক্ষপাত আছে strpos ফাংশন:

if(false !== strpos($url,'car')) {
    echo 'Car exists!';
}
else {
    echo 'No cars.';
}

1

ওয়ার্ডপ্রেস কীভাবে কাজ করে তার ধারণার অনুরূপ আপনি একটি .htaccess পদ্ধতি চেষ্টা করতে পারেন।

তথ্যসূত্র: http://monkeytooth.net/2010/12/htaccess-php-how-to-wordpress-slugs/

তবে আমি নিশ্চিত নই যে আপনি যা বলছেন ঠিক তেমন কথা বলে কিনা ..



1

অবশ্যই এটি সঠিক উপায়ে ...

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (!strpos($url,'mysql')) {
echo 'No mysql.'; //swapped with other echo statement
} else {
echo 'Mysql exists.';
}

অন্যথায় এটির বিপরীতে প্রতিবেদন করা উচিত ...


1

এটি আমার পক্ষে কাজ করেছে:

// Check if URL contains the word "car" or "CAR"
   if (stripos($_SERVER['REQUEST_URI'], 'car' )!==false){
   echo "Car here";
   } else {
   echo "No car here";
   }
যদি আপনি প্রতিধ্বনিতে এইচটিএমএল ব্যবহার করতে চান তবে "" এর পরিবর্তে '' ব্যবহার করতে ভুলবেন না।
আমি আমার ওয়েবপৃষ্ঠায় https://geaskb.nl/ এ সতর্কতা দেখানোর জন্য এই কোডটি ব্যবহার করি 
যেখানে ইউআরএলটিতে "ওমনিক" শব্দটি রয়েছে 
তবে পৃষ্ঠাগুলিতে সতর্কতাটি গোপন করুন যা URL এ "ওমনিক" শব্দটি ধারণ করে না।

0

ইউআরএল প্যারামিটার এবং বিশ্বব্যাপী ভেরিয়েবল থেকে প্রাপ্ত $_GETযা বাস্তবে একটি অ্যারে। সুতরাং, কোনও URL টিতে কোনও প্যারামিটার রয়েছে কিনা তা জানতে, আপনি isset()ফাংশনটি ব্যবহার করতে পারেন ।

if (isset($_GET['yourparametername'])) {
//The parameter you need is present
}

এরপরে, আপনি এই জাতীয় প্যারামিটারের আলাদা অ্যারে তৈরি করতে পারেন আপনার একটি ইউআরএল সংযুক্ত করতে হবে।

উদাহরণ স্বরূপ:

if(isset($_GET['param1'])) {
\\The parameter you need is present
$attachList['param1'] = $_GET['param1'];
}

if(isset($_GET['param2'])) {
$attachList['param2'] = $_GET['param2];
}

এখন, আপনার একটি ?প্রতীক প্রয়োজন কিনা তা জানতে , কেবল এই অ্যারেটি গণনা করুন

if(count($attachList)) {
    $link .= "?";
    // and so on
}

হালনাগাদ:

কোনও প্যারামিটার সেট করা আছে কিনা তা জানতে, কেবল $ _GET গণনা করুন

if(count($_GET)) {
     //some parameters are set
}

0
if ( stristr( SITE_HOST, 'your site' ) ) {
    $protocol = ( !empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ) ? 'https://' : 'http://';
    $request = ( !empty( $_SERVER['HTTP_X_ORIGINAL_REQUEST'] ) ) ? $_SERVER['HTTP_X_ORIGINAL_REQUEST'] : $_SERVER['REQUEST_URI'];
    echo $protocol .'your site'. $request;
}

0

আপনি এই ফাংশনটি এই কোড স্যার হিসাবে ব্যবহার করতে পারেন

 if((strpos($_SERVER['REQUEST_URI'],'car') !== false))
        echo'<h3 class=" edit-top">Car Exist</h3>';
    else
        echo'<h3 class=" edit-top">Not</h3>';

-1
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if ( strpbrk($url, 'test') ) {
    // Do something...
}
else {
    // Do another thing
}

(> পিএইচপি 5)


এটি প্রশ্নের উত্তর দেয় তবে এর জন্য আরও ভাল পদ্ধতি রয়েছে ... এই ফাংশনটি পাওয়া অক্ষর থেকে শুরু করে একটি স্ট্রিং দেয় ... strpbrk()ডকুমেন্টেশন এখানে
jagb
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.