Я не могу показывать фамилии в своих обзорах из-за законов хипаа, поэтому я пытаюсь сохранить имя и показать только инициал фамилии.

Например:
Кэрол Баскин оставила 5-звездочный обзор в Google ...

Мне нужно было бы сказать:
Кэрол Б оставила 5-звездочный обзор в Google.

Вот моя структура XML, если это необходимо:

<item>
<title>Carole Baskin left a 5 Star Review on Google</title>
<description>Maecenas ullamcorper id eros nec dictum. Proin mattis ullamcorper nisl, id gravida tortor eleifend at. Fusce condimentum mauris non iaculis eleifend.</description>
</item>

Я использовал бы функцию trim для чего-то подобного?

Вот мой PHP-код:

$arr = array();
$xml = simplexml_load_file('data.xml') or die('Failed to create an object');
  foreach($xml->channel->children() as $xml_node) {     
    $arr = array($xml_node->title, $xml_node->description);
}

Я уверен, что это можно сделать, потому что после имени (Кэрол) есть пробел. Любая помощь будет оценена!

php
0
code 24 Июл 2020 в 08:55

2 ответа

Лучший ответ

Вот код Проверь это

    $arr = array();
    $xml = simplexml_load_file('data.xml') or die('Failed to create an object');
      foreach($xml->channel->children() as $xml_node) {     
        
    
        $titleArray = explode(" ", $xml_node->title);
        $firstname = $titleArray[0];
        $lastname = $titleArray[1];
        $rating = $titleArray[4];
    
        $lastnameFirstChar = $lastname[0];
        $name =  $firstname ." ".$lastnameFirstChar ;
    
        $titleFinal =  sprintf("%s left a %s Star Review on Google", $name, $rating);

        $arr = array($titleFinal, $xml_node->description);
    }
1
Chilarai 24 Июл 2020 в 06:24
<?php

    $name = "Carole Baskin";
    $namesArr = explode(" ", $name);
    $nameStr = $namesArr[0];
    if (!empty($namesArr[1])) {
        $nameStr .= substr($namesArr[1], 0, 1);
    }
    $rating = 5;

    echo $reviewTitle = sprintf("%s left a %s Star Review on Google", $nameStr, $rating);

1
Ash1271 24 Июл 2020 в 06:08