Php 返回某个字符之前的所有内容

Php 返回某个字符之前的所有内容,php,string,explode,Php,String,Explode,我试图在破折号前返回标题中的所有内容这是我的代码 $mystring = "Nymphomaniac: Volume 1 – Nimfomana Vol. I (2013) – filme online"; $mystring = str_replace(' ', '+', $mystring); $mystring = str_replace('-', '(/', $mystring); $parts1 = explode("(", $mystring); //break the stri

我试图在破折号前返回标题中的所有内容这是我的代码

$mystring = "Nymphomaniac: Volume 1 – Nimfomana Vol. I (2013) – filme online"; 
$mystring = str_replace(' ', '+', $mystring);
$mystring = str_replace('-', '(/', $mystring);
$parts1 = explode("(", $mystring); 
//break the string up around the "(" character in $mystring 

$mystrings = $parts1[0]; 
echo $mystrings;
输出是这样的

Output:

Nymphomaniac:+Volume+1+–+Nimfomana+Vol.+I+
我想要的是这个

Output:

Nymphomaniac:+Volume+1
我想问题是有两个破折号我什么都试过了,但都没用,谢谢你的帮助,试试这个

<?php

    $mystring = "Nymphomaniac: Volume 1 – Nimfomana Vol. I (2013) – filme online"; 
    $array = explode("–", $mystring);
    $string = str_replace(" ", "+", trim($array[0]));

    echo $string; //Prints Nymphomaniac:+Volume+1

?>

为什么要使用这个标题《性感狂:第一卷——尼姆福曼纳2013年第一卷——在线电影》和《不平凡13号——最后通牒——2009年——电影》Online@user3649605–破折号和-连字符是两个不同的字符。代码中的文本使用破折号,发布中的文本使用连字符。将我答案中的破折号改为连字符,它就会起作用。