Как скрыть часть строки в виде дерева? - PullRequest
0 голосов
/ 31 октября 2019

У меня возникла проблема, как скрыть часть строки в виде дерева? Я хочу скрыть определенную часть дерева в кодировке. Например, я хочу скрыть часть строки во всех электронных письмах в древовидной структуре, она будет отображаться как «developer2 (d ******* 2@hotmail.com)». Ниже приведена моя кодировка:

 <div class="row-fluid">                 
<!-- block -->
 <div class="block">

    <div class="block-content collapse in">
        <div class="span6"> 
            <?php
                $sql="select * from level_tree lt JOIN users u ON lt.user_id = u.id where lt.referal_id =". $user_id;
                $query=mysql_query($sql);
                if(mysql_num_rows($query)>0){
                    $select_name = 'SELECT * FROM users WHERE id = ' . $user_id;
                    $query_select = db_conn_select($select_name);
 foreach($query_select as $rs_select) {
$name = $rs_select['name'];
$email = $rs_select['email'];

 echo preg_replace("/(?!^).(?!$)/", "*", $name,$email); 

   }
                ?>          
             <div id="jstree">
                <ul>
                    <li><?php echo $name. '('.$email.')' ?></li>

                <ul>
                <?php 

                while($rs=mysql_fetch_array($query)){
                    echo "<li>".$rs['name']."&nbsp;(".$rs['email'].")";
                    downline_list($rs['id']);
                    echo "</li>";
                }

            ?>
              </div>
             <?php 
                }else{
                    echo "No downline";
                }
                function downline_list($id){
                    $sql="select * from level_tree lt JOIN users u ON lt.user_id = u.id where lt.referal_id =".$id;
                    $query=mysql_query($sql);
                    if(mysql_num_rows($query)){
                        echo "<ul>";
                        while($rs=mysql_fetch_array($query)){               
                            echo "<li>".$rs['name']."&nbsp;(".$rs['email'].")";
                            downline_list($rs['id']);
                            echo "</li>";
                        }
                        echo "</ul>";
                    }
                }

            ?>               
        </ul></div>
    </div>
  </div>
   <!-- /block -->
 </div>

    <script src="plugins/jstree/dist/jquery-1.10.2.min.js"></script>
 <link rel="stylesheet" href="plugins/jstree/dist/themes/default/style.min.css" />
     <script src="plugins/jstree/dist/jstree.min.js"></script>
    <script>
   $(function () {
  // 6 create an instance when the DOM is ready
  $('#jstree').bind("ready.jstree", function () {
    $('#jstree').jstree('open_all');
  }).jstree();

 });    
</script>
<style type="text/css">
.jstree li > a > .jstree-icon {  display:none !important; } 
 </style>

Теперь текущий вывод показывает мне, как показано ниже (На самом деле, я хочу, чтобы все письма были скрыты, как в этом примере (d ******* 2@hotmail.com)):

enter image description here

Надеюсь, кто-нибудь может подсказать мне, как скрыть часть электронного письма в виде дерева, например (d*******2@hotmail.com). Спасибо.

1 Ответ

0 голосов
/ 31 октября 2019

Вы можете попробовать код PHO, чтобы изменить адрес электронной почты:

$str = 'developer2@host.com';
$arr = explode("@",$str);
for ($i = 0; $i<strlen($arr[0]); $i++)
{
    if($i!=0 && $i<strlen($arr[0])-1)
    {   
        $arr[0][$i] = "*";
    }
}
echo join("@",$arr);

Вы должны создать функцию go call в своем коде PHP для отображения электронной почты.

...