Convert [audio ] to tag in core php

前端 未结 3 1758
走了就别回头了
走了就别回头了 2021-01-25 11:01

I am in trouble while converting a link to tag . here is

I am trying

[audio mp3=\"https://abcd.com/wp-content/uploads/sites/2/2020/03/classical-demo.mp         


        
相关标签:
3条回答
  • 2021-01-25 11:09

    The problem is that you are running replace on $a without updating it, so you function replaces < with [ and outputs, then it replaces > with ] but on the original variable, then outputs.

    If you update the variable with the result of str_replace it works as intended.

    $a = '[audio mp3="https://abcd.com/wp-content/uploads/sites/2/2020/03/classical-demo.mp3"][/audio]';
    
    $a = str_replace("[","<",$a);
    $a = str_replace("]",">",$a);
    $a = str_replace("audio","a",$a);
    $a = str_replace("mp3=","href=",$a);
    echo $a;
    

    Edit

    Also as @Phil pointed out in a comment your last line will change your file extension, I adjusted the last replace to account for this.

    0 讨论(0)
  • 2021-01-25 11:18

    As alternative, to str_replace, perhaps you could use regex?

    $x = '[audio mp3="https://abcd.com/wp-content/uploads/sites/2/2020/03/classical-demo.mp3"][/audio]';
    
    preg_match('/"(.*?)"/', $x, $matches);
    
    print_r($matches);
    

    output

    Array
    (
        [0] => "https://abcd.com/wp-content/uploads/sites/2/2020/03/classical-demo.mp3"
        [1] => https://abcd.com/wp-content/uploads/sites/2/2020/03/classical-demo.mp3
    )
    
    0 讨论(0)
  • 2021-01-25 11:30

    I'm not PHP developer, but I think you can use following code:

    $a = '[audio mp3="https://abcd.com/wp-content/uploads/sites/2/2020/03/classical-demo.mp3"][/audio]';
    
    $b = str_replace("[","<", $a);
    $b = str_replace("]",">", $b);
    $b = str_replace("audio","a", $b);
    // you need to replace mp3=, not mp3, as you have 2 of it
    $b = str_replace("mp3=","href=", $b);
    
    // optional
    $b = str_replace("><",">link text<", $b);
    
    echo $b;
    exit();
    

    $b will be: <a href="https://abcd.com/wp-content/uploads/sites/2/2020/03/classical-demo.mp3">link text</a>

    See it in action thanks to @Phil

    0 讨论(0)
提交回复
热议问题