Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php/HTML中的无序列表_Php_Html_List_Unordered - Fatal编程技术网

Php/HTML中的无序列表

Php/HTML中的无序列表,php,html,list,unordered,Php,Html,List,Unordered,我试图使字符串中的星号表示无序列表中的列表元素 $first_char = substr($p,0,1); if($first_char == '*'){ $p = '<ul>' . $p . '</li></ul>'; $p = str_replace('*' , '<li>',$p); $p = str_replace('\n' , '</li>',$p); }

我试图使字符串中的星号表示无序列表中的列表元素

    $first_char = substr($p,0,1);
    if($first_char == '*'){
        $p = '<ul>' . $p . '</li></ul>';
        $p = str_replace('*' , '<li>',$p);
        $p = str_replace('\n' , '</li>',$p);
    }
$first\u char=substr($p,0,1);
如果($first_char=='*')){
$p=“
    ”.$p.
”; $p=str_replace(“*”,“
  • ”,$p); $p=str_replace('\n','
  • ',$p); }

    但是,如果这使得列表元素中没有星号可用作内容。有什么方法可以改变这一点吗?

    这可能不是最好的解决方案,但您不能总是在字符串(
    $p
    )中使用
    *
    )。相反,将每个星号作为其HTML代码等价物写入,在本例中为
    *。当在浏览器中显示时,用户会看到漂亮的星号,但
    str\u replace
    不应该看到它。或者可以引入一些转义字符,但这可能会有点复杂。

    Regex替换解决方案 输出
    • 知识产权,不可剥夺,*conce*tetur adipsicing精英
    • 库拉比图尔乌拉姆科珀酒店
    • 佩伦茨克·奈克·夸姆·朗库斯
    拉齐尼亚阿库酒店
    • vulputate tellus中的Nullam

    这是一个简单的方法:

    if(substr($p,0,1) == '*'){
        $p = '<ul>' . substr($p,1) . '</ul>;
    }
    
    if(substr($p,0,1)='*')){
    $p=“
      ”。substr($p,1)。
    ; }
    也许您可以使用字符组合来表示列表项。不确定这与你的情况有多相关,但看看降价。这是一个很好的文本到HTML的转换器。您可以做的一件事是组合您的php(像上面一样创建列表项),然后使用css中的
    content
    属性将
    li
    节点转换为星号。我在下面写的并不是对你直接问题的回答,所以我把它删掉了。如果您想了解这一点,这里有一些有用的信息:
    * Lorem ipsum dolor sit amet, * consec*tetur adipiscing elit
        *Curabitur ullamcorper neque sit amet
    
     *  Pellente*sque nec quam rhoncus
    Suspendisse ut lacinia arcu
    
    * Nullam in vulpu*tate tellus
    
    <ul><li>Lorem ipsum dolor sit amet, * consec*tetur adipiscing elit</li>
    <li>Curabitur ullamcorper neque sit amet</li>
    <li>Pellentesque nec quam rhoncus</li></ul>
    Suspendisse ut lacinia arcu
    <ul><li>Nullam in vulputate tellus</li></ul>
    
    if(substr($p,0,1) == '*'){
        $p = '<ul>' . substr($p,1) . '</ul>;
    }