ساخت url سئو شده با PHP ( ساخت URL با عنوان )

url سئو شده با PHP – حتما در وردپرس شاهد این بوده اید که هر عنوان که برای مطلب خود انتخاب می کردید به صورت خودکار برای لینک مطلب در نظر گرفته می شد . این کار با می شود لینک تان seo friendly باشد .
در این آموزش با کمک Regex ها رشته را گرفته و یکسری فیلتر برای استاندارد سازی لینک انجام می دهیم و آن را با توجه به تعداد کلمات برمی گردانیم .
اسکریپت index.php
- متود generateUrl : لینک را گرفته و یکسری کاراکتر مثل # _ را از آن حذف می کند .
- متود limitWords : تعداد کلمات را با توجه به تعداد شده تنظیم می کند .
<?php
$str = " شروع توسعه وب با فریمورک ---\/@@^^#$$,,// &&++***===لاراول `` \" '' !!";
class GenerateSeoFriendlyURL{
public $url = "";
function __construct(string $url , int $limit){
$this->url = $this->generateUrl($url);
$this->url = $this->limitWords($this->url , $limit);
}
function generateUrl(string $url){
$newUrl = $url;
$patterns = [
"/[`_\"'\/\\\\]{1,}/i",
"/[\s+*&^%$#@=.,?!-]{2,}/i",
];
foreach($patterns as $pattern){
$newUrl = preg_replace($pattern, " " ,$newUrl);
}
$newUrl = trim($newUrl);
$newUrl = str_replace(" " , "-" , $newUrl);
$newUrl = strtolower($newUrl);
return $newUrl;
}
function limitWords(string $url , int $limit=6){
if($limit < 2) $limit = 2;
$urlList = explode("-" , $url);
$urlList = array_slice($urlList , 0 , $limit);
$newUrl = join("-",$urlList);
return $newUrl;
}
function getUrl(){
return $this->url;
}
}
$urlObject = new GenerateSeoFriendlyURL($str , 6);
echo $urlObject->getUrl();
// شروع-توسعه-وب-با-فریمورک-لاراول
?>
ارسال نظر