使用preg_replace将永久链接转换为SEO fiendly永久链接

时间:2017-06-11 12:21:00

标签: php regex preg-replace

如何转换固定链接

  

' watch.php一个= RANDOMTEXT1&安培; E = RANDOMTEXT2'

  

'观看/一个/ RANDOMTEXT1 / E / RANDOMTEXT2.html'

使用php preg_replace如果RANDOMTEXT1和RANDOMTEXT2是随机文本?

1 个答案:

答案 0 :(得分:0)

您可以使用例如这个正则表达式:

    <!-- Carousel items -->
    <div class="carousel-inner">
    <?php $slider = new WP_Query(array(
        'post_type' => 'slider',
        'posts_per_page'    => 1,
    )); ?>
    <?php 
    if ( have_posts() ) {
        $x=0;
        while ( $slider->have_posts() ) {
            $x++;
            $slider->the_post(); ?>
                <div class="<?php if($x==1){echo 'active'} ?> item">
                    <?php if ( has_post_thumbnail() ) : ?>
                        <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
                            <?php the_post_thumbnail(); ?>
                        </a>
                    <?php endif; ?>
                </div>
        <?php } // end while
    } // end if
    ?>


    </div>
    <!-- Carousel nav -->

     <ol class="carousel-indicators">
        <?php for($i=0; $i<$x; $i++; ) { ?>
            <li data-target="#carousel" data-slide-to="<?php echo $i;  ?>" class="<?php if($i==0){ echo 'active' }?>"></li>
        <?php } ?>
    </ol>

    <a class="carousel-control left" href="#carousel" data-slide="prev">&lsaquo;</a>
    <a class="carousel-control right" href="#carousel" data-slide="next">&rsaquo;</a>
</div>

并将其替换为:

(watch)\.php\?(a)=([^&]+)&(e)=([^&]+)

但这实际上取决于您的要求。这是您需要创建此类链接的唯一示例吗?您还可以简化正则表达式,仅使用$1/$2/$3/$4/$5.html 并将其替换为watch\.php\?a=([^&]+)&e=([^&]+)。如果您希望正则表达式也允许使用watch/a/$1/e/$2.html字符,但只有当它们后面没有等号&时,您才需要使用否定前瞻字符。

以下是实例:https://regex101.com/r/jdRaok/1